【发布时间】:2015-03-27 14:03:31
【问题描述】:
我注意到 dplyr 在管道中使用时的运行顺序会影响结果。例如:
iris %>%
group_by(Species) %>%
mutate(Sum = sum(Sepal.Length))
产生与此不同的结果:
iris %>%
mutate(Sum = sum(Sepal.Length)) %>%
group_by(Species)
谁能解释这个原因,如果有任何特定的顺序需要定义,请提及。 谢谢
仅供参考:iris 是 R 中的内置数据集,使用 data(iris) 加载它。我试图添加一个新列,即每个物种的萼片长度总和。
【问题讨论】:
-
我很困惑:当然顺序很重要。 dplyr 在这方面与任何其他代码(在顺序执行的编程语言中)没有什么不同。是什么让您认为订单无关紧要?