使用 ggplot2 中的 geom_smooth() 进行线性回归,x 轴上带有分类变量

问题描述 投票:0回答:1

我尝试将线性回归线绘制到散点图上,并在 x 轴上使用序数分类变量。但是,我的代码没有绘制任何线(也没有警告或错误)。是否可以绘制分类 x 轴的回归线?也许我必须指定

group
级别的顺序?明确设置级别没有帮助。

# libraries
library(ggplot2)

# dummy data
dat <- data.frame(group = as.factor(c(rep("A", 10), rep("B", 10))),
                  variable = c(rnorm(10, mean = 3), rnorm(10, mean = 12)))

# specify order of levels explicitly
dat$group <- factor(dat$group, levels = c("A", "B"))

# plot
ggplot(dat, aes(x = group, y = variable)) +
  geom_point() +
  geom_smooth(method = "lm")

输出:

r ggplot2 lm
1个回答
0
投票

geom_smooth
只能平滑连续变量,并且会尝试为离散变量的每个级别创建平滑。当离散变量映射到 x 或 y 轴时,这通常不起作用。但是我们可以通过指定
geom_smooth(aes(group = 1))
来解决 ggplot 的默认行为,这将覆盖默认的分组行为。

ggplot(dat, aes(x = group, y = variable)) +
  geom_point() +
  geom_smooth(aes(group = 1), method = "lm")

© www.soinside.com 2019 - 2024. All rights reserved.