R语言 ggplot图,中线位于中位数上方和下方

e3bfsja2  于 2023-03-15  发布在  其他
关注(0)|答案(2)|浏览(120)

我正在尝试制作一个具有两条回归线的ggplot图:一个低于中位数,另一个高于中位数,以描述年龄对样本的潜在影响。因此,我尝试了:geom_hline(aes(yintercept = median(df$y))我没有得到任何东西。我也可以有两个图形,一个有一条线,另一个有另一条线,并将它们合并,但我还没有成功。有什么帮助吗?
亚西拉
几何线(aes(y截距=中位数(df$y)
预期在平均值上方有一条线

ubby3x7f

ubby3x7f1#

信贷

转到Marco以指出
“年龄的影响”听起来像是年龄在x轴上。

答案

在年龄低于或高于中位数的条件下,包括group美学。这将把数据分成两组。

df1 <- iris[1:2]
names(df1) <- c("y", "age")

library(ggplot2)

ggplot(df1, aes(age, y, group = age < median(age))) +
  geom_point() +
  geom_vline(xintercept = median(df1$age)) +
  geom_smooth(method = lm, formula = y ~ x, se = FALSE)

创建于2023年3月12日,使用reprex v2.0.2

von4xj4u

von4xj4u2#

“年龄的影响”听起来像是年龄在x轴上,下面是x轴中位数两侧的两条回归线的最小示例,其中tidyverse

library(tidyverse)
data(mtcars)
mtcars %>% 
  ggplot(aes(x = mpg, y = qsec)) + geom_point() +
  geom_smooth(data = filter(mtcars, mpg <= median(mpg)), method = "lm", size = 1.2, se=F) +
  geom_smooth(data = filter(mtcars, mpg > median(mpg)), method = "lm", size = 1.2, se=F) +
  geom_vline(xintercept=median(mtcars$mpg))

相关问题