这是这个问题的后续问题:Rowsums conditional on column name
我的数据框被调用wiod
,看起来像这样:
VAR1 VAR2 AUS1 ... AUS56 BEL1 ... BEL56 NLD1 ... NLD56
A D 23 ... 99 0 ... 444 123 ... 675
B D 55 ... 6456 0 ... 557 567 ... 4345
我想计算变量的行总和,AUS, BEL, NLD
然后删除旧变量。像这样:
wiot <- wiot %>%
mutate(AUS = rowSums(.[grep("AUS", names(.))])) %>%
mutate(BEL = rowSums(.[grep("BEL", names(.))])) %>%
mutate(NLD = rowSums(.[grep("NLD", names(.))])) %>%
select(Var1, Var2, AUS, BEL, NLD)
当然,还有大量的变量组,而不仅仅是这三个(准确地说是 43 个)。有没有不使用 43 个 mutate 命令的便捷方法?