我想问一下$coefficients输出中$effectsaov之间的区别。

这里f1因子和交互f1 * f2都很重要。我想解释该因素对响应的影响,我认为$effects是我所需要的。

让我们考虑以下简单的数据集。

f1 <- c(1,1,0,0,1,1,0,0)
f2 <- c(1,0,0,1,1,0,0,1)
r <- c(80, 50, 30, 10, 87,53,29,8)
av <- aov(r ~ f1 * f2)
summary(av)
av$coefficients
av$effects
plot(f1, r)

由于f1,响应似乎增加了48.25个单位mean(r[f1==1]) - mean(r[f1==0])

但是我在$effects输出上看不到它。 $effects输出真正告诉我什么?

最佳答案

根据设计矩阵的QR分解将效果旋转为响应值。查看:

all.equal(qr.qty(av$qr, r), unname(av$effects))
# [1] TRUE

效果对于从QR分解中找到回归系数很有用:
all.equal(backsolve(av$qr$qr, av$effects), unname(coef(av)))
# [1] TRUE

它们还可以用于查找拟合值和残差:
e1 <- e2 <- av$effects
e1[(av$rank+1):length(e1)] <- 0
e2[1:av$rank] <- 0

all.equal(unname(qr.qy(av$qr, e1)), unname(fitted(av)))
# [1] TRUE

all.equal(unname(qr.qy(av$qr, e2)), unname(residuals(av)))
# [1] TRUE

因此,总而言之,效果是旋转域中数据的表示,并且所有最小二乘回归都在附近。

关于r - "effects"和 `aov`返回的 `lm`是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40228117/

10-12 00:26