例如,我有一个数据框,我希望得到以“Q3”开头的所有列的总和,我可以输出每一个,但是能够做到这样的事情会很棒:
1
答案 0 :(得分:4)
我们可以使用rowSums
test %>%
mutate(total = rowSums(.[grep("Q3", names(.))], na.rm =TRUE))
# UserID Q3_1 Q3_2 Q3_3 Q3_4 total
#1 53017366 3 2 3 NA 8
#2 53017366 3 2 3 5 13
答案 1 :(得分:2)
在这种情况下,您可以使用janitor::add_totals_col
:
library(janitor)
test %>%
add_totals_col()
#> UserID Q3_1 Q3_2 Q3_3 Q3_4 Total
#> 1 53017366 3 2 3 NA 8
#> 2 53017366 3 2 3 5 13
对于你需要在mutate中使用select
助手的更深层次的问题,这个需求可以表明缺乏tidy data结构。在这种情况下,您在列标题中有值。如果使用变量quarter
,请使用较长的整洁格式,您可以使用group_by
和summarise
优雅地执行此操作。