0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

共発現解析(相関分析) 応用編+α

Last updated at Posted at 2019-08-11

#前回までの内容
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の方が良いと思います。
#参考サイト

  1. http://www.sthda.com/english/wiki/correlation-matrix-a-quick-start-guide-to-analyze-format-and-visualize-a-correlation-matrix-using-r-software
  2. https://www.statmethods.net/stats/correlations.html
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?