好的,我知道这个标题可能令人困惑。对于那个很抱歉。自2008年以来,我通过绘制和运行有一个带有彩票累积奖金的数据框。我想创建一个新的列来计算绘制数量,因为该绘制的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
有什么想法?
答案 0 :(得分:2)
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(b-a)/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