我有两个载体,比如说:
x <- c(2, 3, 5, 7, 9, 11)
names(x) <- c("a", "b", "c", "d", "e", "f")
y <- c(33,44,55)
names(y) <- c("b", "d", "f")
以便x
a b c d e f
2 3 5 7 9 11
和y
是
b d f
33 44 55
我想将x
中的值替换为y
中具有相同名称的值,以便结果适用于新的x
:
a b c d e f
2 33 5 44 9 55
我确信这已在某个地方得到解答,但我找不到它。
答案 0 :(得分:4)
您可以使用y
的名称作为x
的子集,然后替换为y
。
x[names(y)] <- y
x
# a b c d e f
# 2 33 5 44 9 55
另一个选项是replace()
,它基本上与上面相同,但返回结果并且不会更改x
。
replace(x, names(y), y)
# a b c d e f
# 2 33 5 44 9 55