很抱歉这个,但我找不到一个简单的解决方案。
我有一个数据框:
>bla<-c(1)
>df<-data.frame(bla)
>df
bla
1 1
我想将值附加到列的底部(因此不会创建新的值,如here所述)。例如,获取:
bla
1 1
2 2
3 3
4 4
5 5
我试过了:
df[2,1]<-c(2,3,4,5)
df[,1]<-c(2,3,4,5)
但我明白了:
Error in `[<-.data.frame`(`*tmp*`, 2, 1, value = c(2, 3, 4, 5)) :
replacement has 4 rows, data has 1
也许数据帧不合适,我应该尝试使用矩阵代替?任何建议将不胜感激! :)
答案 0 :(得分:4)
您需要将c(2,3,4,5)
转换为数据框,然后使用rbind加入行,就像@Ananda Mahto在评论中所做的那样
df <- rbind(df, data.frame(bla = c(2,3,4,5)))
其中'bla'是df
中列的名称答案 1 :(得分:1)
如果您事先知道最终尺寸,则另一个选择就是创建一个给定大小的空数据框,然后逐行追加:
blah <- data.frame(matrix(NA, nrow=N, ncol=M))
for (i in 1:N) {
yourResults <- yourFunction()
blah[i,] <- yourResults
}