3 回答

TA贡献1777条经验 获得超10个赞
这更多是一种解决方法,但可以使用
iris %>% mutate(sumVar = rowSums(.[1:4]))
如注释中所写,您还可以使用selectmutate内部来获取要汇总的列,例如
iris %>%
mutate(sumVar = rowSums(select(., contains("Sepal")))) %>%
head
要么
iris %>%
mutate(sumVar = select(., contains("Sepal")) %>% rowSums()) %>%
head

TA贡献1890条经验 获得超9个赞
我正在使用这个简单的解决方案,它是对Davide Passaretti的回答的更强大的修改:
iris %>% select(Sepal.Length:Petal.Width) %>%
transmute(sumVar = rowSums(.)) %>% bind_cols(iris, .)
(但是,这需要定义的行顺序,这应该很好,除非您可能使用远程数据集。)

TA贡献1843条经验 获得超7个赞
您也可以使用grep代替containsor matches,以防万一您需要熟悉正则表达式(matches根据我的经验,这似乎不太像否定的前瞻之类)。
iris %>% mutate(sumVar = rowSums(select(., grep("Sepal", names(.)))))
- 3 回答
- 0 关注
- 1265 浏览
添加回答
举报