0 はじめに
かなり初歩的な内容です。備忘録も兼ねて。
Rにおいて複数要因間の単回帰分析をまとめて行う際の流れをまとめます。
今回は心理学分野で利用されるためにまとめられたpsychのcorr.test関数を用いました。
相関係数のみ分かれば良い場合にはcor関数を使うとよいです。
1 前準備
用いるパッケージとデータセットをRに読み込みます。
用意するデータセットは下の画像の様な形式になります。
各列に外部要因、各行にサンプルのデータが格納されています。
(今回用いたものは199サンプル×22要因)
setwd("/Directory1/Directory2") #ディレクトリの指定
install.packages("psych") #psychパッケージのインストール
library("psych")#パッケージの呼び出し
dat1 <- read.csv("for_cor.csv", header=TRUE,row.names=1,fileEncoding="CP932")
# データセットの読み込み
# RはEXCELで通常保存される[.xlsx]の拡張子ファイルを扱うことは難しいので[.csv]形式でのデータセットを用いる
# 列名、行名が不要の場合にはheader=FALSE, row.names <- NULL
2 相関分析の実行
デフォルトでは"pearson"の相関係数が出力されますが"spearman"または"kendall"による相関係数の算出も可能です。
その他adjustはじめ複数のパラメータ変更ができます。
詳細は[4 引用]から。
result1 <- corr.test(dat1) #dat1についての相関分析結果をresult1に格納
result1 #結果表示(必要なら)
3 データの出力
各項目について別々のファイルに出力したかったので以下を実行しました。
names(result1) #相関分析により得られたデータ項目の確認(必要なら)
cor1 <- result1$r #result1のr(相関係数)に関するデータのみを取り出しcor1に格納
write.csv(cor1, file = "cor1.csv") #相関係数のデータをcsvファイルに出力
corr.test(cbind(dat4))$p
pv1 <- result1$p #result1のp(p-value)に関するデータのみを取り出しpv1に格納
write.csv(pv1, file = "pvalue.csv") #p-valueに関するデータをcsvファイルに出力
p-valueについては出力される対称行列の上側が補正後、下側が補正前の値が出力される点に注意。
4 引用
以下のサイトを参考にしています。
[https://www.rdocumentation.org/packages/psych/versions/2.0.9/topics/corr.test](corr.test function | R Documentation)