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
我期望的結果列C是相同的以上,到處都是14。 任何有關我在做什麼錯誤的見解?
按預期爲我工作 – Sotos
@Sotos您使用的是哪個版本?它不適用於'dplyr 0.7.0'。這看起來很喜歡我的錯誤。 – m0nhawk
看起來像一個混合評估錯誤; 'tibble(a = c(1,2,3),b = a^2,c = sum(b))'和'tib%> mutate(b = a^2,c = sum(.data $ b ))按預期工作。 – alistaire