У меня есть два связанных варианта использования, в которых мне нужно суммировать только части таблицы, указанные способом, аналогичным 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
и как ее использовать?
Конечно, довольно легко получить результат выше, но мне нужно сделать что-то подобное для многих разных случаев, со сложными и переменными критериями фильтрации.