데이터 프레임의 다른 열에있는 값과 순차적 조건 비교를 기반으로 값을 생성하는 데 문제가 있습니다. 내가 좋아하는 것이 무엇순차 비교를 기반으로 R 데이터 프레임에 데이터 열 만들기
ID Tracked
1 Yes
1 Yes
1 No
1 No
1 Yes
1 Yes
2 Yes
2 No
2 No
2 Yes
2 Yes
2 Yes
2 No
2 Yes
이 ID 예이 같은 적어도 이전의 연속이 있는지 여부의 기반으로 세 번째 열을 추가하는 것입니다 : 여기
예 데이터입니다.
ID Tracked Seq
1 Yes NA
1 Yes 1
1 No 0
1 No 0
1 Yes 0
1 Yes 1
2 Yes NA
2 No 0
2 No 0
2 Yes 0
2 Yes 1
2 Yes 1
2 No 0
2 Yes 0
많은 도움에 감사드립니다. 나는 여러 가지를 시도하고 간단한 코드를 생각해 낼 수 없지만 중첩 된 for 루프를 생성해야하는 것처럼 보입니다.
최신 for 루프 (테스트 당 ID로 루핑하지 않고)가 작동하지 않고 모든 0을 반환했습니다.
for (i in length(Data)){
Data$Seq[i+1] <- ifelse(Data$Tracked[i]==Data$Tracked[i+1], 1, 0)
}
그리고
for (i in 1:(nrow(df)-1)){
df$Seq[1] <- NA
df$Seq[i+1] <-
ifelse(df$Tracked[i]==df$Tracked[i+1], 1, 0) *
ifelse(df$ID[i] == df$ID[i+1], 1, NA)
}
을 나는 그가 이전의 연속에 의해 바로 위의 행을 의미한다고 생각 . 그게 그의 코드가 어쨌든 제안하는 것입니다 ... – parksw3
@ m0h3n 네, 그게 바로 제가 데이터를 가지고 얻은 것입니다. 고쳐 주셔서 감사합니다. – MikeD