したがって、2つの列を持つテーブルがあります。V1およびV2(デフォルト)と呼ばれる、最初の処理と2番目の応答。私は試した
aov.ex2 = aov(V2~V1, data=ex2)
summary(aov.ex2)
そして、本当に奇妙なことが起こりました30 - 1 = 29
。dfを実行V1~V2
すると同じ結果が得られるはずですが、処理の2乗の合計は1dfだけです。私は何が間違っているのですか?
したがって、2つの列を持つテーブルがあります。V1およびV2(デフォルト)と呼ばれる、最初の処理と2番目の応答。私は試した
aov.ex2 = aov(V2~V1, data=ex2)
summary(aov.ex2)
そして、本当に奇妙なことが起こりました30 - 1 = 29
。dfを実行V1~V2
すると同じ結果が得られるはずですが、処理の2乗の合計は1dfだけです。私は何が間違っているのですか?
これを試してみてください
aov.ex2 = aov(V2~factor(V1), data=ex2)
summary(aov.ex2)
@ MYaseen208の応答を拡張するには:
昔は、コンピュータプログラムは数値以外のデータをうまく処理できなかったため、カテゴリ変数を数値変数として再コード化して、データをコンピュータに入力するのが一般的でした。次に、これらのプログラムでは、数値変数のように見えるこの変数が実際にカテゴリを表していることをユーザーに伝える必要がありました。これは、データの属性として、または分析の属性として、2つの方法のいずれかで実行できます。Rは、このようなものは分析ではなくデータの属性であるというアプローチを採用しているため(これは私にとってはるかに理にかなっています)、aov
関数にはどの予測子がカテゴリであるかを指定する引数がなく、データを調べてこれを決定します。以来aov
関数は、共分散分析や、より一般的な線形モデルの分析も行うことができ、カテゴリと数値の両方の予測子を受け入れることができます(したがって、すべてがカテゴリであるとは限りません)。データの入力方法は教えてくれませんでしたが、Rにとっては数値データのように見え、それ以外のことは言わなかったので、数値であると想定し続けます。あなたはそれがカテゴリー的であることをRに伝える必要がありますfactor(V1)
。すべての分析でこれを行うことは可能ですが、データを作成/読み取るとき、またはex2$V2 <- factor(ex2$V2)
その直後に1回実行して、このデータのすべての分析/グラフ/要約がカテゴリであると認識し、適切に処理するようにすることをお勧めします。 。