我有一个包含2个元素列表的大型列表,其中包含25个向量的列表,类似于这样的集合:
l1 <- list(time=runif(100), space=runif(100))
l2 <- list(time=runif(100), space=runif(100))
list1 <- list(test1=list(species1=l1, species2=l2),test2=list(species1=l1, species2=l2))
我认为,它本质上是一个lists.of向量列表的列表。
我想从所有物种的所有空间矢量中创建一个data.frame&#39;只有两个子列表中的一个:
final <- as.data.frame(cbind(unlist(list1[[2]]$species1$space), unlist(list1[[2]]$species2$space)))
names(final) <- names(list1[[2]])
基本上,我需要一个循环/应用命令来导航我list1[[2]]$species
并选择所有称为空格的向量。
非常感谢!
答案 0 :(得分:1)
我们可以使用嵌套循环来提取'space'元素
data.frame(lapply(list1, function(x)
sapply(x, "[", 'space')))