dplyr

2014-04-15 30 views
29

के साथ मानों को कैसे अपडेट करें मैं वर्तमान में dplyr का उपयोग कर डेटा.फ्रेम से मूल्यों को अपडेट करने का प्रयास कर रहा हूं लेकिन मुझे नहीं पता कि मूल्यों के सबसेट को प्रतिस्थापित करना संभव है या नहीं?dplyr

# the net4 table 
head(net4) 
Source: local data frame [6 x 4] 

    temps2 NNET NET ave 
1  18 2 4 36 
2  18 2 4 36 
3  22 2 4 44 
4  18 2 4 36 
5  22 2 4 44 
6  27 3 4 36 

# I would like to do the same command line as below: 
subs <- (net4$ave < 10 & net4$ave!=net4$temps2) 
net4$ave[subs] <- with(net4[subs,], temps2/NNET*NET) 

धन्यवाद

उत्तर

39

उपयोग mutate और ifelse

mutate(net4, 
    ave = ifelse(ave < 10 & ave != temp2, temps2/NNET * NET, ave) 
)