R:从另一个列表覆盖列表值

3

我需要合并两个列表,使第二个列表的值覆盖第一个列表中相应的重复项。在R中是否有一种不使用慢速循环的方法来实现这一点?

以下是一个简单的示例:

A <- list("First"=1,"Second"=2)
B <- list("First"=3,"Third"=3)
C <- A
for(curr in names(B)){ C[curr] <- B[curr] }

而C的内容现在是

> C
$First
[1] 3

$Second
[1] 2

$Third
[1] 3

这就是我想要的,但是,是否可以在不使用for循环的情况下完成呢?


1
另外,还可以参考?modifyList以了解另一种灵活的方式;modifyList(A, B) - alexis_laz
1个回答

3
您可以使用Bnames来更改C中的值。
C[names(B)] <- B
C

#$First
#[1] 3

#$Second
#[1] 2

#$Third
#[1] 3

是的!太棒了!谢谢! - Fredrik Karlsson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接