【问题标题】:Add geom_smooth to boxplot [duplicate]将 geom_smooth 添加到箱线图 [重复]
【发布时间】:2016-04-09 02:32:00
【问题描述】:

我正在尝试将geom_smooth() 趋势添加到一些箱线图,但没有正确获取图层。

如何将这两者合并在一起?

geom_boxplot:

ggplot(test) + geom_boxplot(aes(x=factor(year), y = dm))

geom_smooth

ggplot(test, aes(year, dm)) + geom_smooth() 

geom_boxplot 和 geom_smooth

ggplot(test) + geom_boxplot(aes(x=factor(year), y = dm)) + geom_smooth(aes(x = year, y = dm))

【问题讨论】:

  • 现在您应该知道,如果您提供一个最小可重现示例,那么提供帮助会容易得多。
  • 提示:一层使用年份作为因子,另一层使用年份作为连续变量。
  • 提示 2:阅读手册 (?geom_boxplot)。 “只要提供分组变量,您也可以使用带有连续 x 的箱线图。”
  • 旁注:我猜数据是here in a previous post
  • 另一个密切相关的问题here

标签: r ggplot2


【解决方案1】:

我使用了mtcars 公开数据,因为它没有被提问者使用。

data(mtcars)

像往常一样创建箱线图,然后分配给对象。我将一个随机变量作为箱线图的一个因素,将另一个变量作为数字。

g <- ggplot(mtcars, aes(factor(carb), mpg)) + geom_boxplot()

添加 geom_smooth。 geom_smooth 继承了 geom_boxplot 的必要信息。

g + geom_smooth(method = "lm", se=TRUE, aes(group=1))

注意,在这种情况下,geom_smooth 需要表达式 aes(group=1)。没有它,R 会返回错误:

geom_smooth:每个组只有一个唯一的 x 值。也许你想要 aes(group = 1)?

固定线平滑的值是线性回归的系数,而截距对应于因子的最低水平(carb = 1)

【讨论】:

  • 你能补充一些解释吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-12
  • 1970-01-01
  • 2023-02-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多