2012-01-09 10 views
3

データフレームから列を取り出し、別のデータフレームを作成するためにそれらを使用していますが、元の名前を保持するのではなく名前が混乱しています。これを避けるにはどうすればいいですか?データフレームを作成するときのRの名前の列

> newDigit1 <- data.frame((security_id = rsPred1$security_id)) 
> head(newDigit1) 
    X.security_id...rsPred1.security_id. 
1         1 
2         6 
3         5 
4         3 
5         3 
6         2 

それはこのようにする必要があります:

> newDigit1 <- data.frame((security_id = rsPred1$security_id)) 
> head(newDigit1) 
           security_id 
1         1 
2         6 
3         5 
4         3 
5         3 
6         2 

答えて

5

カッコ((を倍増してきたためです。 ケース1内

dfr <- data.frame(x = 1:5) 
#Case 1 
data.frame(x = dfr$x) 
#Case 2 
data.frame((x = dfr$x)) 

を比較し、x = dfr$xdata.frame関数に渡される名前と値のペアです。

ケース2の場合、(x = dfr$x)は名前のないベクトルを返します。したがって、Rは一時的なものを作成し、そのベクトルをdata.frame関数に渡します。

+0

ありがとう、素敵なキャッチ、それはそれをしました。 – screechOwl

4

あなたのデータフレームを作成すると、二重括弧がありません。

newDigit1 <- data.frame((security_id = rsPred1$security_id)) 
2

単に1つのブラケットを外さないで

newDigit1 <- data.frame(security_id = rsPred1$security_id) 

:今作業しなければならない

newDigit1 <- data.frame(security_id = rsPred1$security_id) 

関連する問題