2014-01-23 1 views
0

좋아요, 그 제목은 아마 혼란 스럽습니다. 미안합니다. 2008 년부터 추첨을 통해 추첨을 통해 데이터 프레임을 얻었습니다. 추첨 횟수를 계산하는 새로운 기둥을 만들려고합니다. 그 이유는 그 추첨의 jp 값이 비슷한 값을 가졌기 때문입니다 (정확하게 동일하거나 더 나은, 10 % 이내).다른 열의 유사한 숫자 사이의 거리를 계산하는 열 만들기

그래서, 나는 그것이 5 유사한 JP 이후립니다 있었다,

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 

이 3 26 명중 76을 실행할 때, 그리 알고 싶어요. 모든 관찰이 끝날 때까지.

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

나는 결과가 어떻게 생겼는지 이해하지 못합니다. 예를 들려 줄 수 있습니까? –

+0

@MarkHeckmann, 나는 출력을 보여주기 위해 원래 질문을 편집했다. 실제 데이터 세트는 약 1000 회의 관측 결과이므로 자동화하는 방법을 찾으려고합니다. – datahappy

답변

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 
관련 문제