1. ホーム
  2. r

[解決済み] R: anova.lm(g)において:本質的に完全な適合に対するANOVAのF-テストは信頼できない

2022-02-12 09:31:03

質問

オンラインガイドと古いテキストを組み合わせてRを学習しています(182ページ~)。 http://cran.r-project.org/doc/contrib/Faraway-PRA.pdf ). Rのパッケージからデータを使用する場合(チュートリアルの例のように)、何の問題もありません。しかし、私のテキストからデータを使用する場合、私はいつもF値なしと警告で終わります。

見てみてください。

のデータをdata.frameに格納します。

car.noise <- data.frame( speed = c("idle", "0-60mph", "over 60"), chrysler = c(41,65,76), 
bmw = c(45,67,72), ford = c(44,66,76), chevy = c(45,66,77), subaru = c(46,76,64))

data.frameを確認します。

car.noise
    speed chrysler bmw ford chevy subaru
1    idle       41  45   44    45     46
2 0-60mph       65  67   66    66     76
3 over 60       76  72   76    77     64

data.frameを溶かす。

mcar.noise<- melt(car.noise, id.var="speed")

溶けたdata.frameを確認する

> mcar.noise
     speed variable value
1     idle chrysler    41
2  0-60mph chrysler    65
3  over 60 chrysler    76
4     idle      bmw    45
5  0-60mph      bmw    67
6  over 60      bmw    72
7     idle     ford    44
8  0-60mph     ford    66
9  over 60     ford    76
10    idle    chevy    45
11 0-60mph    chevy    66
12 over 60    chevy    77
13    idle   subaru    46
14 0-60mph   subaru    76
15 over 60   subaru    64

anova を実行すると、警告が表示されます。

> anova(lm(value ~ variable * speed, mcar.noise))
Analysis of Variance Table

Response: value 
               Df  Sum Sq Mean Sq F value Pr(>F)
variable        4    6.93    1.73               
speed           2 2368.13 1184.07               
variable:speed  8  205.87   25.73               
Residuals       0    0.00                       
Warning message:
In anova.lm(lm(value ~ variable * speed, mcar.noise)) :
  ANOVA F-tests on an essentially perfect fit are unreliable

私が思いつく説明は2つだけです。

1: 私のコーディングが間違っている 2: 明確な例を示そうとしているため、テキストの例があまりにも「完璧」にフィットしている。

解決方法は?

あなたは、変数*速度のすべての組み合わせに個別の平均を与えるモデルを当てはめようとしています。 あなたの持っているデータでは、再現性が全くないことを意味します。 それは、各グループから1つの値しか得られないときに、2つのグループを比較しようとするようなものでしょう。

アノバテーブルの「残差」の行を見ると、自由度がなく、平方和も0になっていることに気づくはずです。 適切と思われるなら、交互作用のないモデルを適合させることができますが、交互作用のあるモデルを適合させるには、十分なデータがありません。