我有一份清单:
myList<-list(c("Developmental Biology", " Neuroscience", " Cell Biology"
), c("Developmental Biology", " Neuroscience", " Cell Biology"
), c("Developmental Biology", " Neuroscience", " Genomics & Genetics"
), c("Developmental Biology", " Neuroscience", " Cell Biology"
), c("Developmental Biology", " Neuroscience", " Cell Biology"
), c("Developmental Biology", " Genomics & Genetics"))我想要这个数据框架:
[,1] [,2] [,3]
[1,] "Developmental Biology" " Neuroscience" " Cell Biology"
[2,] "Developmental Biology" " Neuroscience" " Cell Biology"
[3,] "Developmental Biology" " Neuroscience" " Genomics & Genetics"
[4,] "Developmental Biology" " Neuroscience" " Cell Biology"
[5,] "Developmental Biology" " Neuroscience" " Cell Biology"
[6,] "Developmental Biology" " Genomics & Genetics" "NA"我本以为可以使用rbind.fill,但do.call(rbind.fill,myList)返回的是NULL。
发布于 2012-11-08 21:53:34
函数rbind.fill只能组合数据帧。但是列表myList中的元素是字符向量。在使用rbind.fill之前,需要将它们转换为数据帧。
这样做是可行的:
library(plyr)
rbind.fill(lapply(myList, function(x) as.data.frame(t(as.matrix(x)))))
# V1 V2 V3
# 1 Developmental Biology Neuroscience Cell Biology
# 2 Developmental Biology Neuroscience Cell Biology
# 3 Developmental Biology Neuroscience Genomics & Genetics
# 4 Developmental Biology Neuroscience Cell Biology
# 5 Developmental Biology Neuroscience Cell Biology
# 6 Developmental Biology Genomics & Genetics <NA>https://stackoverflow.com/questions/13286741
复制相似问题