我导入一个嵌套的未知长度列表(此处2)和未知名称(此处为iter1和iter2),并获取该列表的名称:
iter1 <- list(1, 2, 3, 4)
iter2 <- list(1, 2, 3, 4)
nested_list <- list(iter1 = iter1, iter2 = iter2)
names <- names(nested_list)接下来我要做的就是:
unlist <- data.frame(x=unlist(nested_list$iter1))但由于我事先不知道名字,所以我想做这样的事情:
unlist <- data.frame(x=unlist(nested_list$names[1]))这肯定不管用。没有错误,但创建的列表为空。
最后,我想做这样的事情:
for(i in 1:length(nested_list)) {
unlist <- data.frame(x=unlist(nested_list$names[i]))
print(unlist)
}发布于 2020-03-05 13:30:18
使用Map,避免使用names向量。
data.frame(Map(unlist, nested_list)[1])
# iter1
# 1 1
# 2 2
# 3 3
# 4 4或者,为了给列名加上mapply
data.frame(x=mapply(unlist, nested_list)[,1])
# x
# 1 1
# 2 2
# 3 3
# 4 4括号中的1表示第一个列表名,相应地使用2作为第二个名称。
数据
nested_list <- list(iter1 = list(1, 2, 3, 4), iter2 = list(1, 2, 3, 4))https://stackoverflow.com/questions/60546270
复制相似问题