2017-06-16 39 views
5
library(dplyr) 
tib <- tibble(a = c(1,2,3)) 

निम्नलिखित काम के अंदर राशि के रूप में उम्मीद:dplyr: लगातार मे बदलें

tib %>% mutate(b = a^2, c = sqrt(b)) 
# A tibble: 3 x 3 
     a  b  c 
    <dbl> <dbl> <dbl> 
1  1  1  1 
2  2  4  2 
3  3  9  3 

tib %>% mutate(b = a^2, c = sum(a)) 
# A tibble: 3 x 3 
     a  b  c 
    <dbl> <dbl> <dbl> 
1  1  1  6 
2  2  4  6 
3  3  9  6 

tib %>% mutate(b = a^2) %>% mutate(c = sum(b)) 
# A tibble: 3 x 3 
     a  b  c 
    <dbl> <dbl> <dbl> 
1  1  1 14 
2  2  4 14 
3  3  9 14 

निम्नलिखित नहीं करता है:

tib %>% mutate(b = a^2, c = sum(b)) 
# A tibble: 3 x 3 
     a  b    c 
    <dbl> <dbl>   <dbl> 
1  1  1 1.482197e-323 
2  2  4 1.482197e-323 
3  3  9 1.482197e-323 

मैं स्तंभ ग में परिणाम उम्मीद करेंगे के बराबर हो जाए ऊपर, 14 हर जगह। मैं क्या गलत कर रहा हूं इसके बारे में कोई अंतर्दृष्टि?

+0

मेरे लिए अपेक्षित काम करता है – Sotos

+0

@Sotos और आप किस संस्करण का उपयोग करते हैं? यह मेरे लिए 'dplyr 0.7.0' के साथ काम नहीं करता है। यह देखो मेरे लिए बग पसंद है। – m0nhawk

+2

एक संकर-eval बग की तरह लग रहा है; 'टिबल (ए = सी (1,2,3), बी = ए^2, सी = योग (बी))' और 'tib%>% mutate (बी = ए^2, सी = योग (.डेटा $ बी)) 'उम्मीद के रूप में काम करते हैं। – alistaire

उत्तर

3

मैंने dplyr दोनों संस्करणों के साथ जांच की है: यह नए tidyeval इंजन में एक बग की तरह दिखता है। मैंने Github पर बग दायर किया है।


अद्यतन:

यह अब तय हो गई है। Issuedplyr 0.7.1 और ऊपर के नए संस्करण में अब यह समस्या नहीं है।

+0

ऐसा करने के लिए धन्यवाद। – Habert