通过列出列名来对列求和非常简单:
iris %>% rowwise() %>% mutate(sum = sum(Sepal.Length, Sepal.Width, Petal.Length))
但是,假设有很多列,并且您有兴趣提取包含“Sepal”的所有列,而无需手动列出它们。具体来说,我正在寻找一种与 dplyr 中的 select() 相同的方法,它允许您使用 contains()、starts_with() 等对列进行子集化。
有一些方法可以使用 mutate_all() + sum() + join() 来实现与此查询相同的结果,但我更感兴趣的是看到与以下代码类似的解决方案:
iris %>% rowwise() %>% mutate(sum = sum(contains(colnames(.), "Sepal")))