うまくいけば、これは簡単な質問です。エラーがどこにあるのかわかりませんR
。ここでは機能していないようです。再起動R
してエラーを再現したので、何が起こっているのかわかりません。
問題:いくつかのデータがあり、効果の半正規プロットを作成しようとしています。うーん、すべて順調に進んでいます...ただし、最も重要な効果が私の半分の通常のプロットに表示されていません:
# load data
dat2 <- read.table("http://www.stat.ucla.edu/~hqxu/stat201A/data/solder2.dat")
# required library
library(faraway)
# rename vars
names(dat2) <- tolower(names(dat2))
# create full model
a1.1 <- aov(defects ~ a + b + c + d + e + f + g + h + a:b + a:e + a:f + a:g + a:h +
b:f + b:g + b:h + c:f + c:g + c:h + d:f + d:g + d:h + e:f + e:g + e:h,data=dat2)
# plot effects
halfnorm(a1.1$coef[-1], nlab= length(a1.1$coef[-1])/3-1, labs= names(a1.1$coef[-1]),
ylab= "abs|Factor Effects|",
main= "Half Normal Plot") + qqline(abs(a1.1$coef[-1]))
ご覧のとおり、私のプロットには効果 C がありません。最大のものです。このエラーを再現できない場合はお知らせください。私にはとても奇妙に思えます。
# effects from the model, descending
a1.1$coef[-1][order(abs(a1.1$coef[-1]), decreasing=T)][1:10]
c a e a:h b:f c:f a:f c:g c:h a:g
56.875 -27.500 22.750 13.125 -13.000 -12.750 12.500 12.375 7.375 7.000
編集予想どおり、以下に示すように、これは簡単でした。正しいコードは次のとおりです。
halfnorm(a1.1$coef[-1], nlab= round(length(a1.1$coef[-1])/3,0), labs= names(a1.1$coef[-1]),
ylab= "abs|Factor Effects|",
main= "Half Normal Plot") + qqline(abs(a1.1$coef[-1]))