我可以画两个连续变量的散点图,如下所示:
mtcars %>%
ggplot(aes(x=mpg, y = disp)) + geom_point() +
geom_smooth(method="auto", se=TRUE, fullrange=FALSE, level=0.95)
我使用cut
创建了5组汽车的mpg间隔(任何更好的命令也可以)。我喜欢在图表中看到间隔,因此它们很容易理解。
mtcars %>%
mutate(mpg_groups = cut(mpg, 5)) %>%
group_by(mpg_groups) %>%
mutate(mean_disp = mean(disp)) %>%
ggplot(aes(x=mpg_groups, y = mean_disp)) + geom_point()
mpg_groups
是因子变量,不能再通过geom_smooth()
连接。
# not working
mtcars %>%
mutate(mpg_groups = cut(mpg, 5)) %>%
group_by(mpg_groups) %>%
mutate(mean_disp = mean(disp)) %>%
ggplot(aes(x=mpg_groups, y = mean_disp)) + geom_point() +
geom_smooth(method="auto", se=TRUE, fullrange=FALSE, level=0.95)
我可以用easy(tidyverse)代码做些什么来创建每组的平均值并通过线连接它们?
1条答案
按热度按时间r6vfmomb1#
一般来说,当通过
ggplot2
绘制一条线时,在Map到x
上的变量不是数值的所有情况下,都必须显式地设置group
美学,例如,使用group=1
将所有观察结果分配到一个组,为了简单起见,我将其称为1
: