#前回までの内容
1. R初心者のための共発現解析(相関分析) イントロ編
2. R初心者のための共発現解析(相関分析) 実践編
3. 共発現解析(相関分析) 応用編
#目的
簡便かつ迅速に相関分析をすることに加え、無相関検定を行うことでp値を算出すること。
#対象
閾値をPCCではなくp値にしたい方。PCCがいくつ以上なら相関が高いかは恣意的であるため、統計的な指標を基に閾値を設定したい方にはおすすめです。
*PCC:ピアソンの相関係数
#簡便かつ迅速に相関分析ができるスクリプト
##Hmiscのインストール
install.packages("Hmisc")
##パッケージの読み込み
library(dplyr)
library(Hmisc)
##Hmiscの実装
Hmiscのrcorrを使うにはdata.frame型ではなく、matrix型である必要があるためas.matrixを使用。
T.data <- iris[, 1:4]
T.rcorr <- T.data %>%
as.matrix() %>%
rcorr()
T.PCC <- T.rcorr$r
T.Pvalue <- T.rcorr$P
temp <- combn(colnames(T.data), 2)
##PCC.tableに計算結果をまとめる
PCC.table <- data.frame(Source = temp[1, ],
Target = temp[2, ],
PCC = T.PCC[lower.tri(T.PCC)],
Pvalue = T.Pvalue[lower.tri(T.Pvalue)]
)
##p値が0.05より低いデータのみを抽出する
PCC005.table <- PCC.table %>% filter(Pvalue < 0.05)
#番外編
Hmiscを入れずにp値を求める方法も紹介します。
base <- cor.test(T.data[, 1], T.data[, 2])
T.pvalue <- base$p.value
T.PCC <- base$estimate
cor.testだとforを回さないといけないうえ、時間がかかってしまうので使えるならHmiscの方が良いと思います。
#参考サイト