相関係数のメタ分析のやり方をメモ代わりに残しておきます。
水元先生のサイト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)