library(dplyr)
tib <- tibble(a = c(1,2,3))
następujących prac, jak oczekiwanodplyr: suma wewnątrz rzędu mutować
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
Następujące nie:
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
byłoby oczekiwać, wynik w kolumnie C jest taka sama jak powyżej, 14 wszędzie. Wgląd w to, co robię źle?
Działa zgodnie z oczekiwaniami – Sotos
@Sotos I jakiej wersji używasz? To nie działa dla mnie z 'dplyr 0.7.0'. Ten wygląd lubi dla mnie błąd. – m0nhawk
Wygląda jak błąd hybrydowy; 'tibble (a = c (1,2,3), b = a^2, c = suma (b))' i 'tib%>% mutate (b = a^2, c = suma (.data $ b)) 'działają zgodnie z oczekiwaniami. – alistaire