如果已经回答但是我没有想出要搜索的内容,请提前道歉。
假设您有以下格式的嵌套列表对象:
Ob1 <- list(
A=vector("list", 5),
B=vector("list", 5)
)
sub <- c(2,4)
是否有任何非杂乱的方法来创建一个新对象Ob2
,其中包含与Ob1
相同的嵌套结构,但只有sub
索引的A和B元素?理想情况下,这是我喜欢的,可以推广到两个以上的深层次。
非常感谢,Jon
答案 0 :(得分:3)
这是一种方法:
# Fill the specified list elements with some random values
# This makes it easier to check that really the right elements have been extracted
Ob1[["A"]][[2]] <- 2
Ob1[["A"]][[4]] <- 4
Ob1[["B"]][[2]] <- 22
Ob1[["B"]][[4]] <- 44
# Extract the specified list elements
new.list <- lapply(Ob1, function(x)x[sub])
# > new.list
# $A
# $A[[1]]
# [1] 2
#
# $A[[2]]
# [1] 4
#
#
# $B
# $B[[1]]
# [1] 22
#
# $B[[2]]
# [1] 44