먼저 샘플 데이터 : 목표는 추측과 같은 번호가 그 다음이다계산 점수
bbbv[1:25] <-1
bbbv[26:50] <-2
bbbw <- 1:25
bbbx <- sample(1:5, 50, replace=TRUE)
bbby <- sample(1:5, 50, replace=TRUE)
bbb <- data.frame(pnum=bbbv, trialnum=bbbw, guess=bbbx, target=bbby)
경우 우리가 1 점을, 다른 0
bbb$hit <- ifelse(bbb$guess==bbb$target, 1, 0)
이를 문제 야. 열을 네 개 더 계산하고 싶습니다.
bbb$hitpone trialnum(n) guess == trial(n+1) target
bbb$hitptwo trialnum(n) guess == trial(n+2) target
bbb$hitmone trialnum(n) guess == trial(n-1) target
bbb$hitmtwo trialnum(n) guess == trial(n-2) target
명확해야합니다. 히트 몬의 경우 우리는 재판 추측을보고이를 재판의 목표와 비교하기 전에 (현재 재판에서 -1). hitmtwo에 대해 우리는 재판 추측을보고 그것을 목표 2 (현재 재판에서 -2)와 비교합니다. hitpone과 hitptwo는 동일하지만 긍정적 인 방향 (현재 재판에서 +1과 +2)입니다.
그리고 목표가 추측과 동일한 경우 우리는 1을, 그 외에는 0 (우리의 새로운 계산에 따라)을 결정하는 데 관심이 있습니다.
이제이 작업에는 약간의 어려움이 있습니다. 각 pnum에는 25 개의 재판이 있습니다. 히트 포닉의 경우 25 회 +1을 계산할 수 없습니다. 25 회 또는 24 회 트라이얼에 대해 +2를 계산할 수 없습니다. 트라이얼 1에 대해서는 -1을, 1 회에 대해서는 -2를 계산할 수 없습니다. 2.
이렇게하면 테이블이 보이게됩니다. 저는 처음으로 1-3 번의 시련과 23-25 번의 시련을 보여 주면서 손으로 조롱했습니다. 여기
dput(bbb)
structure(list(pnum = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2), trialnum = c(1L,
2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L,
16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 1L, 2L, 3L,
4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L,
18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L), guess = c(5L, 1L, 1L,
3L, 1L, 3L, 1L, 5L, 2L, 3L, 1L, 1L, 5L, 3L, 5L, 1L, 2L, 2L, 3L,
1L, 4L, 1L, 4L, 4L, 3L, 4L, 5L, 2L, 4L, 5L, 5L, 5L, 4L, 5L, 2L,
3L, 1L, 1L, 5L, 1L, 1L, 3L, 1L, 2L, 4L, 1L, 2L, 3L, 1L, 1L),
target = c(4L, 3L, 4L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 3L,
1L, 2L, 5L, 1L, 3L, 2L, 1L, 4L, 4L, 1L, 1L, 3L, 4L, 4L, 2L,
3L, 2L, 1L, 1L, 5L, 4L, 3L, 5L, 1L, 1L, 1L, 2L, 5L, 2L, 4L,
3L, 1L, 1L, 2L, 5L, 3L, 3L, 3L), hit = c(0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0,
1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0)), .Names = c("pnum", "trialnum", "guess",
"target", "hit"), row.names = c(NA, -50L), class = "data.frame")
우리는 쉽게 재현 할 수 있도록 출력 (bbb)을 표시하고 출력하십시오. 또한, 당신의 의사 코드가 무엇을 원하는지에 대한 내게 불분명하다. 어쩌면 특정 항목을 어떻게 원하는지 단어로 입력 할 수 있습니다. 명중 된 계산? –