我试图通过用函数plot
绘制残差来测试AOV假设。我想测试细菌密度是否受温度和我的治疗影响。我使用了aov
函数并考虑了治疗和温度之间的相互作用。另外,我的实验设计是以块为单位进行的。当我使用plot
时出现错误:
Error in xy.coords(x, y, xlabel, ylabel, log) :
'x' is a list, but does not have components 'x' and 'y'
## I've run the example in ?aov
npk.aov <- aov(yield ~ block + N*P*K, npk)
plot(npl.aov)
此示例有效。这两个数据都在data.frame
。唯一的区别是我的自变量是因子。但据我所知,这不是aov
中的问题。
你可以帮我解决这个错误吗?
这是一个玩具示例:
block <- rep(1:7, 6)
temp <- rep(c("a", "b"), c(21, 21))
treat <- rep(rep(c("T1", "T2", "T3"), c(7, 7, 7)), 2)
density <- rnorm(42)
dat <- data.frame(block, temp, treat, density)
mod <- aov(density ~ temp*treat+Error(block/treat), data=dat)# modelo certo
plot(mod)
会议详情:
platform
"x86_64-w64-mingw32"
"R version 3.0.2 (2013-09-25)"
$nickname
"Frisbee Sailing"`
答案 0 :(得分:2)
我认为你对&#34;内部&#34;的残余感兴趣。模特的一部分:
plot(residuals(mod[["Within"]])~fitted(mod[["Within"]]))
qqnorm(residuals(mod[["Within"]]))
qqline(residuals(mod[["Within"]]))