4 개의 열이있는 큰 데이터 프레임 ( "myfile")에서 처음 4 개의 열을 기준으로 조건부 값이있는 다섯 번째 열을 추가해야합니다.
주로 큰 데이터 세트의 속도 때문에 dplyr
및로 답변을 선호합니다 mutate
.
내 데이터 프레임은 다음과 같습니다.
V1 V2 V3 V4
1 1 2 3 5
2 2 4 4 1
3 1 4 1 1
4 4 5 1 3
5 5 5 5 4
...
다섯 번째 열 (V5)의 값은 몇 가지 조건부 규칙을 기반으로합니다.
if (V1==1 & V2!=4) {
V5 <- 1
} else if (V2==4 & V3!=1) {
V5 <- 2
} else {
V5 <- 0
}
이제이 mutate
함수를 사용하여 모든 행에서 이러한 규칙 을 사용하고 싶습니다 (느린 루프를 피하기 위해). 다음과 같은 것 (예, 이런 방식으로 작동하지 않는다는 것을 압니다!) :
myfile <- mutate(myfile, if (V1==1 & V2!=4){V5 = 1}
else if (V2==4 & V3!=1){V5 = 2}
else {V5 = 0})
결과는 다음과 같습니다.
V1 V2 V3 V4 V5
1 1 2 3 5 1
2 2 4 4 1 2
3 1 4 1 1 0
4 4 5 1 3 0
5 5 5 5 4 0
어떻게해야합니까 dplyr
?
NA
, (NaN, +Inf, -Inf
)를 올바르게 처리하는 데 관심이 있습니까?