如何向预分配的data.frame添加向量列表,以便向量形成data.frame的行?
例如.
ll<-list(c(1,2,3),c(2,3,4))
dd<-data.frame(matrix(nrow=10,ncol=3))
Run Code Online (Sandbox Code Playgroud)
我需要dd看起来像
1 2 3
2 3 4
Run Code Online (Sandbox Code Playgroud)
had*_*ley 12
do.call(rbind, ll)
Run Code Online (Sandbox Code Playgroud)
添加到现有数据框
rbind(dd, do.call(rbind, ll)
# OR
do.call(rbind, c(ll, list(dd))
Run Code Online (Sandbox Code Playgroud)
如果你这样做了很多的数据帧,请rbind.fill
在plyr
包一个更有效的方法.
这个问题有些奇怪:你构造了一个10行的数据帧,填充了NA值,但是你需要dd只有2行.
首先回答你的问题:有时显而易见的问题不是解决方案.
ll<-list(c(1,2,3),c(2,3,4))
dd<-data.frame(matrix(nrow=5,ncol=3))
for(i in 1:length(ll)){
dd[i,] <- ll[[i]]
}
dd
Run Code Online (Sandbox Code Playgroud)
如果你正在盯着丑陋的for循环:这是一个你可以实际使用for循环而没有问题的情况.但是这使得dd具有大量的NA值.如果你想摆脱它们,你要么将数据帧初始化为
dd<-data.frame(X1=numeric(0),X2=numeric(0),X3=numeric(0))
Run Code Online (Sandbox Code Playgroud)
它为您提供了一个空的数据帧,或者您使用complete.cases()来删除所有NAs:
dd <- dd[complete.cases(dd),]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16953 次 |
最近记录: |