作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个相关的用例,我需要总结表格的一部分,以类似于 filter
的方式指定。 .
简而言之,我想要这样的东西:
iris %>%
use_only(Species == 'setosa') %>%
summarise_each(funs(sum), -Species) %>%
mutate(Species = 'setosa_sum') %>%
use_all()
Source: local data frame [101 x 5]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 250.3 171.4 73.1 12.3 setosa_sum
2 7.0 3.2 4.7 1.4 versicolor
3 6.4 3.2 4.5 1.5 versicolor
4 6.9 3.1 4.9 1.5 versicolor
5 5.5 2.3 4.0 1.3 versicolor
…
use_only
/use_all
? 更好的是,此功能是否已包含在
dplyr
中?我该如何使用它?
最佳答案
我认为您搜索满足该特定语法的函数的方法过于严格。这就是我使用 data.table
会做的事情(我不确定 dplyr
是否允许像这样的可变行,我知道它已经是 FR 一段时间了):
library(data.table)
dt = as.data.table(iris)
dt[, if (Species == 'setosa') lapply(.SD, sum) else .SD, by = Species]
# Species Sepal.Length Sepal.Width Petal.Length Petal.Width
# 1: setosa 250.3 171.4 73.1 12.3
# 2: versicolor 7.0 3.2 4.7 1.4
# 3: versicolor 6.4 3.2 4.5 1.5
# 4: versicolor 6.9 3.1 4.9 1.5
# 5: versicolor 5.5 2.3 4.0 1.3
# ---
[Species == 'setosa', Species := 'setosa_sum']
最后将名称修改到位。扩展到多个标准/任何功能应该很简单。
关于r - 如何仅汇总表格的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29784525/
我是一名优秀的程序员,十分优秀!