dplyr使用汇总时仅返回一行 [英] dplyr only returning one row when using summarize
本文介绍了dplyr使用汇总时仅返回一行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我只是想尝试一下dplyr的连锁经营者。
I'm just getting around to giving dplyr's chain operator a try.
使用简单示例:
group_by(mtcars, cyl) %>%
summarise(mean(disp), mean(hp))
I得到结果:
# mean(disp) mean(hp)
#1 230.7219 146.6875
出于某些原因,dplyr并未分组,只是汇总了整个向量。我缺少什么?
For some reason dplyr isn't grouping, just summarizing the entire vector. What am I missing?
推荐答案
开始一个新的会话,这是我得到的:
Start a fresh session this is what I get:
library(dplyr)
mtcars %>%
group_by(cyl) %>%
summarise(mean(disp), mean(hp))
## cyl mean(disp) mean(hp)
## 1 4 105.1364 82.63636
## 2 6 183.3143 122.28571
## 3 8 353.1000 209.21429
编辑
Don' t每秒加载 plyr
(仅次于 dplyr
)。问题在于它使用的是 plyr :: summarise
而不是 dplyr :: summarise
:
Don't load plyr
second (after dplyr
) or at all. The problem is that it's using plyr::summarise
not dplyr::summarise
:
mtcars %>%
group_by(cyl) %>%
plyr::summarise(mean(disp), mean(hp))
## mean(disp) mean(hp)
## 1 230.7219 146.6875
编辑2
您也可以明确地说出要从哪个包中提取 sumamrise
的软件包,如下所示:
You could also just be explicit and say which package to pull sumamrise
from as seen below:
mtcars %>%
group_by(cyl) %>%
dplyr::summarise(mean(disp), mean(hp))
这篇关于dplyr使用汇总时仅返回一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文