从不同行数创建data.frame

时间:2013-09-23 12:38:18

标签: r is-empty

有些对象包含a<-list(a=1,b="A",c=character())

等基本数据

现在我想将它转换为data.frame,但我需要相同的行。如何使用NA以简单的方式填充空向量以运行as.data.frame(a)?我唯一的想法是询问列表中的一个元素是否长度<1然后设置element[1]=NA

1 个答案:

答案 0 :(得分:1)

我不确定这是否更干净,但它确实摆脱了if的东西:

lfoo<-list(one=1:3,two=character(),three=4:6,four=vector())
dfoo<-dfoo<-data.frame(one=rep(NA,3),two=rep(NA,3), three=rep(NA,3),four=rep(NA,3))
lvalues <-  which(unlist(lapply(1:4,function(x) length(lfoo[[x]]) > 0))
for (j in lvalues) dfoo[,jvalues]<-lfoo[[jvalues]]

这可能会为您指出处理转化和选择性替换的简单方法。