【发布时间】:2019-05-16 02:02:46
【问题描述】:
这是我想做的一个例子,随机生成的数字集:
a <- runif(100, min =0.5, max=1);
b <- runif(100, min = 0, max =1);
c <- factor(rep(c("High", "Low", "High", "High"), times = 25));
df<-data.frame(a,b,c);
head(df)
a b c
1 0.9506028 0.84686708 High
2 0.7296878 0.24566532 Low
3 0.6208635 0.90166263 High
4 0.9009880 0.98464187 High
5 0.6032242 0.23613096 High
6 0.5409369 0.06325577 Low
所以我在这里要做的是创建两个单独的线性模型,一个用于子集数据(c=="High",n=75),另一个用于子集数据(c=="Low",n= 25)........
...然后我想运行方差分析来比较线性模型:
mod1<-lm(b~a, data=df, subset = c=="High")
mod2<-lm(b~a, data=df, subset = c=="Low")
到目前为止一切正常,但是下一个命令:
anova(mod1,mod2)
产生错误:
anova.lmlist(object, ...) 中的错误: 模型并非都适合相同大小的数据集
这个问题可以使用更新函数来解决,虽然我还没有遇到一个例子来展示如何在 lm 调用行中更新子集函数。
谢谢:)
【问题讨论】:
标签: r regression anova