参考にさせていただいたサイト

相関係数のメタ分析のやり方をメモ代わりに残しておきます。
水元先生のサイトRを使った分析(メタ分析)
草薙先生のサイトmetacorパッケージで相関係数のメタ分析
を参考にしました。

やりかたとコード

library(MAc)   # MAcパッケージ
library(meta)  # metaパッケージ
library(metafor)  #metaforパッケージ
r = c(.1,.2,.3,.4) #相関係数の入力
n = c(30,40,50,60) #サンプルサイズの入力
metadat =  data.frame(r,n)#データフレーム作成
metadat#データフレーム確認
##     r  n
## 1 0.1 30
## 2 0.2 40
## 3 0.3 50
## 4 0.4 60
metacor(metadat$r, metadat$n)#とりあえずメタ分析
##      COR            95%-CI %W(fixed) %W(random)
## 1 0.1000 [-0.2700; 0.4443]      16.1       16.1
## 2 0.2000 [-0.1189; 0.4815]      22.0       22.0
## 3 0.3000 [ 0.0236; 0.5338]      28.0       28.0
## 4 0.4000 [ 0.1626; 0.5936]      33.9       33.9
## 
## Number of studies combined: k = 4
## 
##                         COR           95%-CI    z p-value
## Fixed effect model   0.2832 [0.1390; 0.4156] 3.77  0.0002
## Random effects model 0.2832 [0.1390; 0.4156] 3.77  0.0002
## 
## Quantifying heterogeneity:
## tau^2 = 0; H = 1.00 [1.00; 2.23]; I^2 = 0.0% [0.0%; 79.9%]
## 
## Test of heterogeneity:
##     Q d.f. p-value
##  2.29    3  0.5147
## 
## Details on meta-analytical method:
## - Inverse variance method
## - DerSimonian-Laird estimator for tau^2
## - Fisher's z transformation of correlations
metadat$var.r = var_r(metadat$r, metadat$n)  #rの分散を求める
metadat$z = r_to_z(metadat$r)   #Fisher's zを求める
metadat$var.z = var_z(metadat$n) #zの分散を求める

#ランダムモデルでフォレストプロット
rm = rma(metadat$z, metadat$var.z, data=metadat)
forest(rm, transf=transf.ztor)