R言語で回帰分析の重相関係数Rの信頼区間を出力

[記事公開日]2016/10/04 [カテゴリー]R言語入門 Written by  IMIN

今回は、R言語で関数lmを使った回帰分析をした際に、計算される重相関係数Rの95%信頼区間を出力する方法をご紹介いたします。R言語でRの信頼区間を出力……。なんともややこしいですね。

まずは何らかのデータを回帰分析して、ansという変数に代入します。

プログラム

ans <- lm(data$y~.,data=data)

この回帰分析の結果による予測値というのは"predict()"という関数を使えば、求めることができます。予測値を算出して、preという変数に代入しておきます。

プログラム

pre <- predict(ans)

 
 

関数"cor.test()"を使う。

R言語で用意されている、関数”cor.test()”は、二つのデータの間に相関があるかどうか、検定する関数です。その結果として、相関係数の信頼区間も出してくれるという非常に便利なものです。

プログラム

cor.test(x,y)

とすることで、xとyの無相関検定(pearson)を行ってくれます。

今回の場合は、回帰分析による予測値と、実際のデータの実現値を引数に入れてあげれば、オーケーです。ということで、以下のようなプログラムになります。結果をcoという変数に代入しておきます。※ここで、”data$y”というのは、目的変数の実現値です。

プログラム

co <- cor.test(pre,data$y)

この中から95%信頼区間だけを抽出したい場合、以下のように記述してあげましょう。

プログラム

co95 <- co$conf.int

 

ちなみに、cor.test()はmethodで検定手法を変えることもできます。ピアソンの他に、ケンドール、スピアマンの順位相関係数の検定を指定することができます。

具体的には、

cor.test(x,y, method = "pearson") …… ピアソン

cor.test(x,y, method = "kendall") …… ケンドール

cor.test(x,y, method = "spearman") …… スピアマン

というように記述すると、その通りの検定が行われます。

 

これで、回帰分析の重相関係数の95%信頼区間が出せましたので、今回はこの辺で失礼します!

  • スポンサーリンク

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    CAPTCHA