当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R modifyList 递归修改列表的元素


R语言 modifyList 位于 utils 包(package)。

说明

通过更改每个级别的元素子集以匹配第二个列表,以递归方式修改可能嵌套的列表。

用法

modifyList(x, val, keep.null = FALSE)

参数

x

名为 list ,可能为空。

val

包含组件的命名列表,用于替换 x 中的相应组件或添加新组件。

keep.null

如果 TRUEval 中的 NULL 元素将变为 x 中的 NULL 元素。否则,相应的元素(如果存在)将从 x 中删除。

x 的修改版本,修改确定如下(此处,列表元素由其名称标识)。 valx 中缺少的元素将添加到 x 中。对于两者共有但本身不是两个列表的元素, x 中的组件将被 val 中的组件替换(或可能被删除,具体取决于 keep.null 的值)。对于两个列表中的公共元素, x[[name]] 替换为 modifyList(x[[name]], val[[name]])

例子

foo <- list(a = 1, b = list(c = "a", d = FALSE))
bar <- modifyList(foo, list(e = 2, b = list(d = TRUE)))
str(foo)
str(bar)

作者

Deepayan Sarkar Deepayan.Sarkar@R-project.org

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Recursively Modify Elements of a List。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。