我想知道是否有办法做到这一点:
iris %.% group_by(Species) %.%
mutate(v1=Sepal.Length / mean(Sepal.Length)) %.%
filter(v1 > 1.15) %.% select(Species:v1)
同时跳过select
位。我认为以下应该有效(但由于多种原因没有):
iris %.% group_by(Species) %.%
select(Species, v1=Sepal.Length / mean(Sepal.Length)) %.%
filter(v1 > 1.15)
请注意,在此示例中,我替换mutate
为select
希望仅此而已。这也不起作用,因为summarize
期望表达式返回 1 个值:
iris %.%
group_by(Species) %.%
summarise(Sepal.Length / mean(Sepal.Length)) %.%
filter(v1 > 1.15)
显然,这没什么大不了的,但想知道是否有更简单的方法来复制默认data.table
行为:
data.table(iris)[, Sepal.Length / mean(Sepal.Length), by=Species][V1 > 1.15]
它只产生by
列和计算值:
Species V1
1: setosa 1.158610
2: versicolor 1.179245
3: versicolor 1.162399
4: virginica 1.153613
5: virginica 1.168792
6: virginica 1.168792
7: virginica 1.168792
8: virginica 1.199150
9: virginica 1.168792