我正在使用summaryise对数据框的每一行进行计算。虽然结果在我的控制台中显示是确定的,但我似乎无法将它们插入到同一个数据框中,甚至创建一个新的数据框。有什么帮助吗?我首先根据一列(邮编)对它们进行分组,然后对所有具有相同邮编的行进行计算。先谢谢你
my_data %>%
group_by(as.character(Postcode))%>%
summarise(wgt_inw_PC = sum(E_W_GEM))
我们只需要把它分配回对象。
library(dplyr)
my_data <- my_data %>%
group_by(Postcode = Postcode)%>%
summarise(wgt_inw_PC = sum(E_W_GEM, na.rm = TRUE))
或者另一种选择是来自 magrittr
(%<>%
)
library(magrittr)
my_data %<>%
group_by(Postcode = Postcode)%<>%
summarise(wgt_inw_PC = sum(E_W_GEM, na.rm = TRUE))
我不确定这是否是你要找的东西(我建议使用 可复制的例子 当在SO上提问时),但这里有一个代码,用于进行分组计算,然后将此附加到你的数据框架中。
library(dplyr)
#>
#> Attaching package: 'dplyr'
mtcars %>%
group_by(cyl)%>%
mutate(wgt = sum(wt))
#> # A tibble: 32 x 12
#> # Groups: cyl [3]
#> mpg cyl disp hp drat wt qsec vs am gear carb wgt
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 21 6 160 110 3.9 2.62 16.5 0 1 4 4 21.8
#> 2 21 6 160 110 3.9 2.88 17.0 0 1 4 4 21.8
#> 3 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1 25.1
#> 4 21.4 6 258 110 3.08 3.22 19.4 1 0 3 1 21.8
#> 5 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2 56.0
#> 6 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1 21.8
#> 7 14.3 8 360 245 3.21 3.57 15.8 0 0 3 4 56.0
#> 8 24.4 4 147. 62 3.69 3.19 20 1 0 4 2 25.1
#> 9 22.8 4 141. 95 3.92 3.15 22.9 1 0 4 2 25.1
#> 10 19.2 6 168. 123 3.92 3.44 18.3 1 0 4 4 21.8
#> # ... with 22 more rows