创建一个新列,该列是dplyr中特定列(按其名称选择)的总和 [英] create a new column which is the sum of specific columns (selected by their names) in dplyr
本文介绍了创建一个新列,该列是dplyr中特定列(按其名称选择)的总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的问题是如何在dplyr中创建一个新列,该列是一些特定列(按其名称选择)的总和。 例如,对于虹膜数据集,我创建了一个名为Petal的新列,它是Petal.Length和Petal.Width的总和。
iris %>% mutate(Petal = Petal.Length+Petal.Width)
现在假设我有一个包含20列的数据集,这些列的名称中包含"Petal"。我想创建一个"花瓣"栏目,它总结了所有这些栏目。我绝对不想在代码中键入所有列名。感觉在dplyr中只需一行代码就可以实现。
如果有人能帮上忙,我将不胜感激。
推荐答案
我同意Flick先生的观点,即整理您的数据更可取-尤其是如果您要执行任何操作,而不是对这些列求和-但这里有一个选项:
iris %>% mutate(
Petal = rowSums(select(., starts_with("Petal")))
)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species Petal
1 5.1 3.5 1.4 0.2 setosa 1.6
2 4.9 3.0 1.4 0.2 setosa 1.6
3 4.7 3.2 1.3 0.2 setosa 1.5
4 4.6 3.1 1.5 0.2 setosa 1.7
5 5.0 3.6 1.4 0.2 setosa 1.6
...
有关选择列的信息,请参阅?select
以外的starts_with()
帮助器选项。
这篇关于创建一个新列,该列是dplyr中特定列(按其名称选择)的总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文