【发布时间】:2020-03-21 08:26:19
【问题描述】:
取一个简单的嵌套列表L:
L <- list(lev1 = list(lev2 = c("bit1","bit2")), other=list(yep=1))
L
#$lev1
#$lev1$lev2
#[1] "bit1" "bit2"
#
#
#$other
#$other$yep
#[1] 1
还有一个向量,为我想从L中选择的每个部分提供一系列深度:
sel <- c("lev1","lev2")
索引时我想要的结果是:
L[["lev1"]][["lev2"]]
#[1] "bit1" "bit2"
我可以像这样使用Reduce 进行概括:
Reduce(`[[`, sel, init=L)
#[1] "bit1" "bit2"
现在,我想扩展这个逻辑来做一个替换,像这样:
L[["lev1"]][["lev2"]] <- "new val"
,但我真的很困惑如何生成递归[[ 选择,然后我也可以分配给它。
【问题讨论】: