geom_smooth中的自定义lm公式

埃德·G

我正在使用多面图,并使用中的lm方法添加线geom_smooth()

d<-data.frame(n=c(100, 80, 60, 55, 50, 102, 78, 61, 42, 18),
              year=rep(2000:2004, 2), 
              cat=rep(c("a", "b"), each=5))

ggplot(d, aes(year, n, group=cat))+geom_line()+geom_point()+
  facet_wrap(~cat, ncol=1)+
  geom_smooth(method="lm")

我想在适当的地方设置一个应用多项式的函数。我已经设计了一个功能:

lm.mod<-function(df){
  m1<-lm(n~year, data=df)
  m2<-lm(n~year+I(year^2), data=df)
  ifelse(AIC(m1)<AIC(m2), "y~x", "y~poly(x, 2)")
}

但是我在应用它时遇到了麻烦。有什么想法或更好的方法来解决吗?

斯文·霍恩斯坦

一次geom_smooth调用无法应用不同的平滑函数这是基于数据子集的平滑解决方案:

首先,创建没有geom_smooth以下内容的基准图

library(ggplot2)
p <- ggplot(d, aes(year, n, group = cat)) +
       geom_line() +
       geom_point() +
       facet_wrap( ~ cat, ncol = 1)

其次,该函数by用于geom_smooth为的每个级别创建一个cat(用于构面的变量)。此函数返回一个列表。

p_smooth <- by(d, d$cat, 
               function(x) geom_smooth(data=x, method = lm, formula = lm.mod(x)))

现在,您可以将的列表添加geom_smooth到基本图中:

p + p_smooth

该图包括上面板的二阶多项式和下面板的线性平滑:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自定义geom-smooth / ggplot2 / R中的公式

来自分类Dev

通过构面向geom_smooth()提供自定义结值

来自分类Dev

ggplot geom_smooth lm中带宽的含义

来自分类Dev

公式中具有可变次数多项式的`geom_smooth`

来自分类Dev

geom_smooth中二项式公式的语法

来自分类Dev

在SQL中实现自定义公式

来自分类Dev

为什么do(lm ...)和geom_smooth(method =“ lm”)之间有区别?

来自分类Dev

ggplot2中的单独图例geom_smooth

来自分类Dev

在geom_smooth,ggplot2中设置不同的线型

来自分类Dev

在R中带有字符串的geom_smooth

来自分类Dev

使用 geom_smooth 更改现有 ggplot 中的 alpha

来自分类Dev

为什么我的lm模型不显示线性关系,但是在geom_smooth中显示线性关系?

来自分类Dev

R loess 预测与 ggplot geom_smooth() 不匹配。我的预测公式有误?

来自分类Dev

自定义公式未更新

来自分类Dev

填写条件格式自定义公式

来自分类Dev

Google表格中的条件格式:我可以在“自定义公式为:”字段中使用自定义函数吗?

来自分类Dev

结合使用geom_smooth和y

来自分类Dev

在单个方向上扩展geom_smooth

来自分类Dev

ggplot geom_smooth排除负值

来自分类Dev

geom_smooth和指数拟合

来自分类Dev

假设反指数拟合的geom_smooth

来自分类Dev

圆形线端geom_smooth

来自分类Dev

ggplot geom_smooth排除负值

来自分类Dev

基于geom_smooth fit的闪亮表

来自分类Dev

为 geom_smooth 添加年龄调整

来自分类Dev

使用R中的geom_smooth()在ggplot2图例中混合填充颜色

来自分类Dev

在熊猫中,如何在groupby.agg()方法中应用2个自定义公式?

来自分类Dev

使用 geom_smooth 或 stat_smooth 绘图

来自分类Dev

在ggplot2中用geom_smooth绘制虚线的虚线

Related 相关文章

热门标签

归档