我更喜欢在R中使用列表.现在我想创建几个嵌套列表.我已经知道列表应包含的元素数量,现在想在将数据输入到列表之前定义列表的大小.对于最高级别的列表,其中包含我使用的2个元素
list_example <- vector(mode="list", 2)
Run Code Online (Sandbox Code Playgroud)
现在两个元素中的每一个都应该包含3个元素:再次包含列表的列表等等...总共我有7个级别,即2*3*3*4*2*3*3组合的树.有一种简洁的方法来定义这种深层嵌套列表结构的大小吗?非常感谢你提前!!
你可以使用递归函数来做到这一点.
rec.list <- function(len){
if(length(len) == 1){
vector("list", len)
} else {
lapply(1:len[1], function(...) rec.list(len[-1]))
}
}
l <- rec.list(c(2, 3, 3, 4, 2, 3, 3))
Run Code Online (Sandbox Code Playgroud)
或者可能使用7-d列表数组?它起初可能看起来很奇怪,但它是一个完全有效的数据结构.
l <- vector("list", 2*3*3*4*2*3*3)
dim(l) <- c(2, 3, 3, 4, 2, 3, 3)
l[[1,1,1,1,1,1,1]] <- "content"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1292 次 |
| 最近记录: |