Dört sütunlu büyük bir veri çerçevesinde ("dosyam"), ilk dört sütunu temel alan değerleri koşullu olarak içeren beşinci bir sütun eklemem gerekiyor.
Büyük veri kümelerindeki hızı nedeniyle dplyr
ve ile yanıtları tercih edin mutate
.
Veri çerçevem şöyle görünüyor:
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
...
Beşinci sütunun (V5) değerleri bazı koşullu kurallara dayanmaktadır:
if (V1==1 & V2!=4) {
V5 <- 1
} else if (V2==4 & V3!=1) {
V5 <- 2
} else {
V5 <- 0
}
Şimdi mutate
bu kuralları tüm satırlarda kullanmak için işlevi kullanmak istiyorum (yavaş döngülerden kaçınmak için). Bunun gibi bir şey (ve evet, bu şekilde çalışmadığını biliyorum!):
myfile <- mutate(myfile, if (V1==1 & V2!=4){V5 = 1}
else if (V2==4 & V3!=1){V5 = 2}
else {V5 = 0})
Sonuç şu olmalı:
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
Bu nasıl yapılır dplyr
?
NA
(NaN, +Inf, -Inf
)?