this question जवाब देने के लिए प्रयास करते समय, मैं मैं क्या बराबर संचालन होने की उम्मीद में mutate
और transform
के बीच एक अंतर का सामना करना पड़ा।dplyr के बीच अंतर: पिन और pmax का उपयोग करते समय mutate और परिवर्तन?
# data
x <- data.frame(a=c(rep(0,10),rep(1,10),3),b=c(1:10,0,11:19,0))
#transform
transform(x,a=pmin(a,b), b=pmax(a,b))
a b
1 0 1
2 0 2
3 0 3
4 0 4
5 0 5
6 0 6
7 0 7
8 0 8
9 0 9
10 0 10
11 0 1
12 1 11
13 1 12
14 1 13
15 1 14
16 1 15
17 1 16
18 1 17
19 1 18
20 1 19
21 0 3
#mutate
libarary(dplyr)
x %>% mutate(a=pmin(a,b), b=pmax(a,b))
a b
1 0 1
2 0 2
3 0 3
4 0 4
5 0 5
6 0 6
7 0 7
8 0 8
9 0 9
10 0 10
11 0 0
12 1 11
13 1 12
14 1 13
15 1 14
16 1 15
17 1 16
18 1 17
19 1 18
20 1 19
21 0 0
नोट 11 लाइनों और 21 में मतभेद मुझे लगता है कि mutate
डेटा परिवर्तनशील है के रूप में यह हो जाता है और इसलिए, pmax
मूल डेटा नहीं दिखाई दे रहा है। क्या ये सही है? क्या यह एक बग है, या डिजाइन द्वारा?
आप सही हैं, और यह डिज़ाइन द्वारा है (अभिलेखागार में कुछ चर्चा है, मैं कहां भूल जाता हूं)। – baptiste
@baptiste धन्यवाद, मुझे लगता है कि मैं समझता हूं कि क्यों: कंप्यूटेड वैरिएबल को उसी कमांड में इस्तेमाल करने की अनुमति देने के लिए, इसलिए मूल को स्पष्ट रूप से संदर्भित करने की आवश्यकता है। – James