假设这个简化的例子:
L <- list()
L$Foo <- list()
L$Foo$Bar <- list()
L$Foo$Bar$VAR <- TRUE
L$Lorem <- list()
L$Lorem$Ipsum <- list()
L$Lorem$Ipsum$Dolor <- list()
L$Lorem$Ipsum$Dolor$VAR <- TRUE
然后我将融化这个列表reshape2::melt(L)
。这将输出以下内容:
value L3 L2 L4 L1
1 TRUE VAR Bar <NA> Foo
2 TRUE Dolor Ipsum VAR Lorem
对值列中的某些单元格进行一些操作后,我希望将这个熔化列表重新转换为与以下完全相同的嵌套列表结构L
——唯一的区别是我更新了一些value
实例。
有什么想法如何实现这一目标?请记住,嵌套列表可以具有任何不同的深度。
一个选项是relist
,之后我们unlist
ed L
tmp <- unlist(L)
# make small changes
tmp[] <- FALSE
relist(tmp, L)
Result
$Foo
$Foo$Bar
$Foo$Bar$VAR
[1] FALSE
$Lorem
$Lorem$Ipsum
$Lorem$Ipsum$Dolor
$Lorem$Ipsum$Dolor$VAR
[1] FALSE
L
好像
$Foo
$Foo$Bar
$Foo$Bar$VAR
[1] TRUE
$Lorem
$Lorem$Ipsum
$Lorem$Ipsum$Dolor
$Lorem$Ipsum$Dolor$VAR
[1] TRUE
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)