假设我最后需要使用数据集中的add_row,比如这样的iris!
iris %>% add_row( Species = "Total", Sepal.Length = sum(.$Sepal.Length)) %>% tail(3)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
149 6.2 3.4 5.4 2.3 virginica
150 5.9 3.0 5.1 1.8 virginica
151 876.5 NA NA NA Total我的问题是,我们如何才能只使用这种方法(我知道其他方法,如bind_rows with summarise,janitor,pivottabler,kable等)添加所有数字列的总数,而不对其名称进行硬编码。一些across之类的东西。这有可能吗?
我正在寻找未来可能使用的add_row() 函数用例,因为到目前为止我还没有使用过它,所以我对替代方法不感兴趣。
更新我就这样做了
iris %>% add_row(Species = "Total", iris[1:4] %>% summarise(across(everything(), ~sum(.))))
149 6.2 3.4 5.4 2.3 virginica
150 5.9 3.0 5.1 1.8 virginica
151 876.5 458.6 563.7 179.9 Total有更好的建议吗?
发布于 2021-04-18 17:42:04
我们可以使用adorn_totals
library(janitor)
library(dplyr)
iris %>%
adorn_totals(col = 'Sepal.Length')或用于多列
iris %>%
select(Species, everything()) %>%
adorn_totals() %>%
select(names(iris))或用于多列
iris %>%
summarise(across(where(is.numeric), sum)) %>%
add_row(iris, Species = 'Total', .)https://stackoverflow.com/questions/67151606
复制相似问题