R 如何通过名称和表达式a:b对变量子集进行行和 dd%变异(总计=行和([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这样的变量名?我有数百个变量,但位置可能会随着数据集的另一个版本而改变;因此,安全的方法是在R 如何通过名称和表达式a:b对变量子集进行行和 dd%变异(总计=行和([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,r,tidyverse,across,R,Tidyverse,Across,有没有办法选择像a:b这样的变量名?我有数百个变量,但位置可能会随着数据集的另一个版本而改变;因此,安全的方法是在dplyr1.0.0中按a:b?等样式选择变量。您可以使用行方式和: dd%>%rowwise%>%mutate(总计=总和(跨越(a:b)))%>%ungroup a、b、c总计 1 1 2 3 3 2 2 3 4 5 3 3 4 5 7 4 4 5 6
dplyr
1.0.0中按a:b?等样式选择变量。您可以使用行方式
和:
dd%>%rowwise%>%mutate(总计=总和(跨越(a:b)))%>%ungroup
a、b、c总计
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
如果使用了rowwise()
,那么添加%%>%ungroup()
是一个好习惯。否则,您的数据总是按行分组。@Darren Tsai,您说得对,更新帖子
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
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