我在R中有一个这样的数据集(我真正的数据集有更多的行和列):
AB1 | AB3 | AB4 | XB1 | XB3 | XB4 |
---|---|---|---|---|---|
12 | 34 | 0 | 5 | 3 | 7 |
我需要把这一栏加起来
AB1+XB1 AB3+XB3 AB4+XB4
我可以使用什么代码?
我在R中有一个这样的数据集(我真正的数据集有更多的行和列):
AB1 | AB3 | AB4 | XB1 | XB3 | XB4 |
---|---|---|---|---|---|
12 | 34 | 0 | 5 | 3 | 7 |
我需要把这一栏加起来
AB1+XB1 AB3+XB3 AB4+XB4
我可以使用什么代码?
你可以用
library(dplyr)
df %>%
mutate(across(starts_with("AB"),
~.x + df[[gsub("AB", "XB", cur_column())]],
.names = "sum_{.col}"))
这又回来了
# A tibble: 1 x 9
AB1 AB3 AB4 XB1 XB3 XB4 sum_AB1 sum_AB3 sum_AB4
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 12 34 0 5 3 7 17 37 7
across
和mutate
.AB
开头的列.期望的和总是ABn + XB2
,所以我们可以使用这个模式.AB
替换为XB
,并将这两列相加.这些总和存储在一个以sum_
为前缀的新列中.