2017-08-22 8 views
1

データフレーム "Diff"から特定の列を抽出する次のコード行があります。 data.table関数を適用すると、列名の名前がV1、V2、V3などに変更されます。(Diffデータフレームに表示されるように)列名を以前と同じように保つにはどうすればよいですか?Data.table関数を適用した後に列名を同じに保つ

data.table(Diff$FactSet.Fund.Code, Diff$FactsetDate.x, , Diff$DeskName.x) 
+6

'data.table(デフ[、C( "FactSet.Fund.Code"、 "FactsetDate.x"、 "DeskName.x")])'またに(これを行うことができます – Roland

+1

別の名前を選択したい場合): data.table(ファンド= Diff $ FactSet.Fund.Code、日付= Diff $ FactsetDate.x、、desk = Diff $ DeskName.x) – user108363

答えて

1

あなたはdata.tableにdata.frameから行くときあなたの問題が発生すると仮定すると、最初にdiff <- data.table(diff)を使用することによりその全体がdata.tableにごdata.frameを変えることができます。 の場合、subset()を使用してdata.tableを簡単にサブセット化し、保持する列の名前を持つリストを簡単に作成できます。この方法で元の名前を保持します。ここに行く:

# Libraries 
library(data.frame) 

# Here's dataframe with some random data 
# that fits your description: 
diff = data.frame(FactSet.Fund.Code=rep(c("a","b"),c(2,3)),FactsetDate.x=1:5,FactsetSomethingelse=5:1) 
#class(diff) 

diff = data.table(diff) 
#class(diff) 

# The names fo the columns you'd like to keep: 
selection = c('FactSet.Fund.Code','FactsetDate.x') 

# Your desired subset: 
diff <- subset(diff,,selection) 

# And now it should look like this: 

    FactSet.Fund.Code FactsetDate.x 
1:     a    1 
2:     a    2 
3:     b    3 
4:     b    4 
5:     b    5 
関連する問題