चार कॉलम वाले एक बड़े डेटाफ़्रेम ("मायफ़ाइल") में मुझे पहले चार कॉलमों के आधार पर सशर्त रूप से मूल्यों के साथ पांचवां कॉलम जोड़ना होगा।
साथ जवाब पसंद करते हैं 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)?