2016/10/04
2020/05/04
R言語で回帰分析の重相関係数Rの信頼区間を出力
今回は、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%信頼区間が出せましたので、今回はこの辺で失礼します!
※R言語入門のトップページはこちら
Recommended