dplyr如何使用列索引对选定的列进行行式求和?

阿尔比

在中dplyr,如何对选定的列执行行式求和(使用列索引)?

这不行

> iris  %>% mutate(sum=sum(.[1:4])) %>% head
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species    sum
1          5.1         3.5          1.4         0.2  setosa 2078.7
2          4.9         3.0          1.4         0.2  setosa 2078.7
3          4.7         3.2          1.3         0.2  setosa 2078.7
4          4.6         3.1          1.5         0.2  setosa 2078.7
5          5.0         3.6          1.4         0.2  setosa 2078.7
6          5.4         3.9          1.7         0.4  setosa 2078.7

我可以执行以下操作,但是它并不漂亮

> iris %>% mutate(index=1:n()) %>%  
                gather("param", "value", 1:4)  %>% 
                group_by(index) %>% 
                mutate(sum=sum(value)) %>% 
                spread(param, value) %>% select(-index)
Source: local data frame [150 x 6]

   Species  sum Sepal.Length Sepal.Width Petal.Length Petal.Width
1   setosa 10.2          5.1         3.5          1.4         0.2
2   setosa  9.5          4.9         3.0          1.4         0.2
3   setosa  9.4          4.7         3.2          1.3         0.2
4   setosa  9.4          4.6         3.1          1.5         0.2
5   setosa 10.2          5.0         3.6          1.4         0.2
6   setosa 11.4          5.4         3.9          1.7         0.4
7   setosa  9.7          4.6         3.4          1.4         0.3
8   setosa 10.1          5.0         3.4          1.5         0.2
9   setosa  8.9          4.4         2.9          1.4         0.2
10  setosa  9.6          4.9         3.1          1.5         0.1
..     ...  ...          ...         ...          ...         ...

有没有语法上更好的方法来实现这一目标?

编辑:这是一个从其他问题不同,因为我想要做对选择的列横行操作使用列索引

尼古拉

正如评论中已经说过的,您可以通过以下方式完成任务:

iris %>% mutate(sum=Reduce("+",.[1:4]))

在这种情况下,基础也可以rowSums工作:

iris$sum<-rowSums(iris[,1:4])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用dplyr r使用row方式对grouped_tbl中的选择列进行行变异?

使用dplyr对列进行条件求和

在 dplyr 中对选定的列求和(使用 select() 方法)

在R中,如何对具有负整数和正整数的列进行行求和?

如何仅对选定的列求和

使用mutate进行行和列索引编制以及分组依据

如何使用R对具有不同列数的两个数据集进行行绑定

如何使用dplyr对列进行范围分组?

dplyr 0.5.0使用列索引进行突变

根据data.table中的子字符串对选定列进行行操作

使用dplyr在自适应范围内进行行式操作

R dplyr对列索引进行突变

使用多索引列数据框对某些列求和

如何使用不同的列与dplyr进行自我联接?

如何使用数组公式对Excel,3D数组中的列,行,列进行求和

如何使用dplyr以新列名作为字符串重命名选定的列

如何对多列进行分组并对最后一列求和?

在 MySQL 8.0.17 版本中使用 Pivot 从不同表(联合)进行行到列转换

R按索引求和的列

dplyr:如何使用mutate通过列索引而不是列名来引用列?

使用dplyr对多列求和时忽略NA

使用dplyr基于列值对R中的值求和

使用dplyr在选定的列上添加按行均值的列

如何使用 Power Query 在同一列中进行增量求和?

如何使用awk和或sed对列数据进行乘法和求和?

如何使用特定列的列名求和

如何使用 awk 累计对列的值求和?

如何使用Django ORM对三列求和

如何使用其他列值求和