SSブログ

【R】corとcor.testの違い [データサイエンス、統計モデル]

【質問】
cor.test.default( ) でエラー: でエラー:
引数 "y" がありませんし、省略時既定値もありません
原因は何ですか?

【回答】
まず、corとcor.testの違いから。

iris[, 1:4]と使います。

cor(iris[, 1:4])を計算すると

> cor(iris[, 1:4])
  Sepal.Length Sepal.Width Petal.Length Petal.Width
 Sepal.Length 1.0000000 -0.1175698 0.8717538 0.8179411
 Sepal.Width -0.1175698 1.0000000 -0.4284401 -0.3661259
 Petal.Length 0.8717538 -0.4284401 1.0000000 0.9628654
 Petal.Width 0.8179411 -0.3661259 0.9628654 1.0000000
となり、それぞれの変数の相関係数が出てきます。

cor.testは、それぞれの相関係数に対し、相関係数の検定をしています。
すなわち、H0:相関係数は0 (2変数間は無相関)

細かい数字が出てくるため、1つのペア同士しか検定できません。
膨大に色々な統計量が出てくると見難いので。

例えば、Sepal.LengthとSepal.Widthの検定をしたい場合は、

cor.test(iris[, "Sepal.Length"], iris[, "Sepal.Width"])
と書きましょう。

> cor.test(iris[, "Sepal.Length"], iris[, "Sepal.Width"])
  Pearson's product-moment correlation
 
 data: iris[, "Sepal.Length"] and iris[, "Sepal.Width"]
 t = -1.4403, df = 148, p-value = 0.1519
 alternative hypothesis: true correlation is not equal to 0
 95 percent confidence interval:
  -0.27269325 0.04351158
 sample estimates:
  cor
 -0.1175698

この場合、p値がp-value = 0.1519とやや高いですね。
なので、帰無仮説を棄却できない。
つまり、相関係数は0でないとは言えない(2変数間は無相関とは言えない)となります。
相関係数は0である(2変数間は無相関である)と言っているわけではないので注意が必要です。

p値が十分に小さい時、例えば、0.05未満だと帰無仮説が棄却され、対立仮説が採択されます。
この場合は、
H1:相関係数は0でない (2変数間は無相関でない)、つまり、相関があると自然に答えることができます。
H0の場合は、自然な解釈がしづらいのが、検定の欠点でもあります。

nice!(0)  コメント(0) 
共通テーマ:学問