2013-07-13 106 views
5

我想生產從old大單(多變量)一new數據幀 我使用cbind.data.frame功能,它是這樣的從舊數據框生成新的數據幀?

new <- cbind.data.frame(old$var1, old$var2, old$var3) 
str(new) 
    'data.frame': 100 obs. of 3 variables: 
$ old$var1  : num 

爲什麼VAR1仍屬於old$
我想用剛new$var1但它返回object not found

我在做什麼錯?

+10

爲什麼不只是'新< - 老[C( 「VAR1」, 「VAR2」, 「VAR3」)]'? –

回答

13

通過這樣做,既結合其他其他的答案:

New <- data.frame("var1" = old$var1, 
        "var2" = old$var2, 
        "var3" = old$var3) 
+0

謝謝大家的提示,我特別喜歡這個,因爲它讓你有機會改變變量名 – Pulse

2

你沒有做錯什麼,你只需要在您的新數據幀重命名列使用:

names(new) <- c("var1","var2","var3") 

現在,你將能夠使用new$var1,等等。

希望這可以解決您的問題。