【问题标题】:Compare two regression models in R比较 R 中的两个回归模型
【发布时间】:2019-03-13 11:09:46
【问题描述】:
age25=subset(juul,juul[,"age"]>25.00)## create a subset of age greater than 25
modelgf=lm(age25[,"igf1"]~age25[,"age"])
age20=subset(juul,juul[,"age"]<20.00)
modelgf2=lm(age20[,"igf1"]~age20[,"age"])

我尝试使用anova(m1,m2) 比较modelgfmodelgf2 模型。但是,我收到一条警告消息:

In anova.lmlist(object, ...) :
  models with response ‘"age20[, \"igf1\"]"’ removed because response differs from model 1

还有其他方法可以比较这两个模型吗?

【问题讨论】:

  • 这是错误的。相反,您应该为年龄类别创建一个因子变量并在回归上运行。
  • 如果没有你的数据样本来帮助你做这个reproducible
  • 为什么要离散化一个连续变量?这几乎总是一个坏主意...stats.stackexchange.com/a/230756/176202

标签: r regression


【解决方案1】:

给你:

# Dummy for Age>25
juul[,"ageCat25"] <- juul[,"ageCat"] > 25.00
# Collinear dummy for Age<20
juul[,"ageCat20"] <- ifelse(!juul[,"ageCat25"] & juul[,"age"]<20.00, TRUE, juul[,"ageCat25"])
m1 <- lm(foo ~ ageCat25, juul)
m2 <- lm(foo ~ ageCat20, juul)
anova(m1,m2)

解释留给 OP。

【讨论】:

  • 如果您将两个不同的模型与anova 进行比较,它们需要建立在相同的数据上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-27
  • 2018-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-14
  • 2014-10-13
相关资源
最近更新 更多