2014-10-30 65 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