0

うまくいけば、これは簡単な質問です。エラーがどこにあるのかわかりません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]))
4

1 に答える 1