次のシナリオがあります。まず、以下に示すようにデータテーブルを作成します
x = data.table(f1 = c('a','b','c','d'))
x = x[,rn := .I]
これにより、
> x
f1 rn
1: a 1
2: b 2
3: c 3
4: d 4
>
rn は単に行番号です。今、私は別のdata.table yを持っています
y = data.table(f2=c('b','c','f'))
私ができるようにしたいのは、x にある y の要素に対して、rn の対応する値から 2 を減算したいということです。したがって、期待される data.table は
x
f1 rn
1: a 1
2: b 0
3: c 1
4: d 4
どうやってこれにたどり着くのですか?x[y]
結合するだけなので、y[x]
まったく役に立ちません。