2014-10-30 63 views
1

下面是一個例子,如何用矢量列追加的行的數據幀中的R

df <- data.frame(x = I(list(1:2, 3:4))) 
x <- df[1,] 

現在下面不起作用,

df[2,] <- x 

df[2,] <- I(x) 


Warning message: 
    In `[<-.data.frame`(`*tmp*`, 2, , value = list(1:2)) : 
    replacement element 1 has 2 rows to replace 1 rows 

如何向單個向量類型的列添加更多行到數據框。

+0

'df [1,]'是一個列表。你究竟想要結果是什麼? – 2014-10-30 20:51:29

+0

我想添加更多的'列表'行到數據框。 – user2799980 2014-10-30 21:02:13

回答

0

這可能是因爲您正在使用列表。如果您將數據幀:

df <- data.frame(rbind(c(1, 2), c(3, 4))) 

那麼你的代碼應工作:

df <- data.frame(rbind(c(1, 2), c(3, 4))) # Make DF 
x <- df[1,] 
df[2,] <- x 

print(df) 

> df 
    X1 X2 
1 1 2 
2 1 2 
+0

我想添加一個'列表'列。你的建議增加了標量值。 – user2799980 2014-10-30 21:05:09

1

我發現幾次嘗試之後下面,

df[2,] <- list(x) 

添加列表類型的新行。

+0

這是一個很好的,沒有'df [2,] [[1]] < - x'也可以工作嗎? – 2014-10-30 21:22:49

+0

是的,你的解決方案也可以。 – user2799980 2014-10-31 02:41:46