0
dd <- data.frame(a=1:10,b=2:11,c=3:12)
dd %>% mutate( Total=rowSums(.[1:2]))
    a  b  c CCI
1   1  2  3   3
2   2  3  4   5
3   3  4  5   7
4   4  5  6   9
5   5  6  7  11
6   6  7  8  13
7   7  8  9  15
8   8  9 10  17
9   9 10 11  19
10 10 11 12  21

有没有办法选择像 a:b 这样的变量名?我有数百个变量,但位置可能会随着数据集的另一个版本而改变;所以安全的方法是通过 a:b 之类的样式选择变量?

4

1 回答 1

1

dplyr1.0.0 中,您可以使用rowwiseand c_across

dd %>%  rowwise %>% mutate(Total = sum(c_across(a:b))) %>% ungroup
       a     b     c Total
   <int> <int> <int> <int>
 1     1     2     3     3
 2     2     3     4     5
 3     3     4     5     7
 4     4     5     6     9
 5     5     6     7    11
 6     6     7     8    13
 7     7     8     9    15
 8     8     9    10    17
 9     9    10    11    19
10    10    11    12    21
于 2020-07-19T13:18:19.113 回答