【发布时间】:2012-05-23 18:12:52
【问题描述】:
对于 R 中的 data.table(或 data.frame),我希望找到所有包含列“值”中的值的行,这些行与具有相同键的行中的另一个值的给定距离“距离” .因此,鉴于以下情况:
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 中操作数据的自引用方法。我最初的尝试涉及创建第二个表并尝试与之匹配,但这似乎是一种奇怪且糟糕的方法。
注意:我正在使用 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)))
【问题讨论】:
标签: r dataframe data.table