创build一个列来计算另一列中相同数字之间的距离

好的,我知道这个标题可能会让人困惑。 对于那个很抱歉。 我从2008年开始通过抽奖获得了一个数据框。我想创build一个新的列来计算抽奖次数,因为那个抽奖的jp值有类似的值(或者是完全一样的,或者更好,在10%以内)。

所以我有

run draw jp 74 1 15 74 2 20 74 3 25 75 1 15 75 2 20 76 1 15 76 2 20 76 3 26 

而且想知道当76号跑时,3号命中26号,自从同样的jp以来已经5次了。 对于每一个观察一路下来。

所以,数据最终会看起来像:

 run draw jp draws sincelikejp 74 1 15 na 74 2 20 na 74 3 25 na 75 1 15 3 75 2 20 3 76 1 15 2 76 2 20 2 76 3 26 5 

有什么想法吗?

 DF <- read.table(text="run draw jp 74 1 15 74 2 20 74 3 25 75 1 15 75 2 20 76 1 15 76 2 20 76 3 26", header=TRUE) tmp <- outer(DF$jp, DF$jp, function(a, b) abs(ba)/b) tmp[lower.tri(tmp)] <- NA DF$since <- apply(tmp, 2, function(x) { res <- diff(tail(which(x < 0.1), 2)) if (length(res) == 0) return(NA) else return(res) }) # run draw jp since # 1 74 1 15 NA # 2 74 2 20 NA # 3 74 3 25 NA # 4 75 1 15 3 # 5 75 2 20 3 # 6 76 1 15 2 # 7 76 2 20 2 # 8 76 3 26 5