Rのdata.table(またはdata.frame)の場合、同じキーを持つ行の別の値からの距離「距離」が指定された列「value」の値を含むすべての行を検索したいと思います。したがって、次のようになります。
distance <- 22
key value
A 1
B 1
C 1
D 1
A 4
B 4
A 23
B 23
B 26
B 26
C 30
元のテーブルに、同じキーで存在する行数のカウントと、そこから+22の値で注釈を付けたいと思います。
key value count
A 1 1
B 1 1
C 1 0
D 1 0
A 4 0
B 4 2
A 23 0
B 23 0
B 26 0
B 26 0
C 30 0
Rでデータを操作するためのこの自己参照アプローチをどこから始めればよいのか、私にはよくわかりません。最初の試みでは、2番目のテーブルを作成し、それと照合しようとしましたが、それは奇妙で貧弱なアプローチのようでした。
注:私はdata.table
パッケージを使用していますが、この場合、作業が簡単になる場合はdata.frameから作業できます。
再現性:
require(data.table)
source <- data.table(data.frame(key=c("A","B","C","D","A","B","A","B","B","B", "C"),value=c(1,1,1,1,4,4,23,23,26,26,30)))
result <- data.table(data.frame(key=c("A","B","C","D","A","B","A","B","B","B","C"),value=c(1,1,1,1,4,4,23,23,26,26,30),count=c(1,1,0,0,0,2,0,0,0,0,0)))