gpt4 book ai didi

r - 如何从列表列表中删除一个级别的列表

转载 作者:行者123 更新时间:2023-12-03 08:48:20 24 4
gpt4 key购买 nike

我在列表中创建了一些列表,并希望能够让每个子列表元素成为顶级的单个元素。

例如创建一些虚拟数据:

pp <- lapply(10:15,function(y){
lapply(10:20,function(z){
as.data.frame(matrix(rnorm(z*y),nrow=z,ncol=y))
})
})

这将创建以下输出
> summary(pp)
Length Class Mode
[1,] 11 -none- list
[2,] 11 -none- list
[3,] 11 -none- list
[4,] 11 -none- list
[5,] 11 -none- list
[6,] 11 -none- list

你还可以在哪里做
> summary(pp[[1]])
Length Class Mode
[1,] 10 data.frame list
[2,] 10 data.frame list
[3,] 10 data.frame list
[4,] 10 data.frame list
[5,] 10 data.frame list
[6,] 10 data.frame list
[7,] 10 data.frame list
[8,] 10 data.frame list
[9,] 10 data.frame list
[10,] 10 data.frame list
[11,] 10 data.frame list

结果输出只会创建一个新列表,其中包含如下内容:
new.pp[[1]] <- pp[[1]][[1]]
new.pp[[2]] <- pp[[1]][[2]]

但是想知道是否有一种智能或更有效的方法可以在列表中有列表时只删除一级列表....

理想情况下,我正在寻找的是某种为我执行此操作的函数,因此,例如,如果我有多个级别的列表相互嵌套而不是两个,我可以在每个级别递归使用该函数最终将每个元素带到列表的顶部......

最佳答案

我认为这可以解决问题

new.pp <- unlist(pp,recursive=FALSE)

关于r - 如何从列表列表中删除一个级别的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17164715/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com