==
オペレータは最高の同じ長さのベクトルを一致させるために使用され、またはベクトルの一つが唯一の長さであるとき、1
これを試してみて、そしてどちらの場合は通知があなたが望む位置の一致を得るのですか。
> a == b
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
Warning message:
In a == b : longer object length is not a multiple of shorter object length
> b == a
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
Warning message:
In b == a : longer object length is not a multiple of shorter object length
代わりに、match()
を使用する - これはあなたのマッチが値であり、インデックスの位置を与えます。
そして
> match(b, a)
[1] 5 6 7
:
a <- 1:10
b <- 5:7
v <- rnorm(3, mean=1, sd=5)
a[match(b, a)] <- v
結果:
a
[1] 1.0000000 2.0000000 3.0000000 4.0000000 -4.6843669 0.9014578 -0.7601413 8.0000000
[9] 9.0000000 10.0000000