Last active
August 29, 2015 14:01
-
-
Save ysaito8015/b5735258d6f64600d856 to your computer and use it in GitHub Desktop.
層によるオッズ比が異なるかどうかを検定するに は,Tarone の検定を利用する. Taroneの検定スクリプト
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
##metaforパッケージをインストールする | |
#install.packages("metafor") | |
#library("metafor") | |
calcTaronesTest <- function(mylist,referencerow=2) | |
{ | |
numstrata <- length(mylist) | |
# 各層における曝露グループの人数のアレイ"ntrt"を作る | |
# 各層における非曝露グループの人数のアレイ"nctrl"を作る | |
# 各層における疾病を持つ曝露グループの人数のアレイ"ptrt"を作る | |
# 各層における疾病を持つ非曝露グループの人数のアレイ"pctrl"を作る | |
# 各層における疾病を持たない曝露グループの人数のアレイ"htrt"を作る | |
# 各層における疾病を持たない非曝露グループの人数のアレイ"hctrl"を作る ntrt <- vector() | |
nctrl <- vector() | |
ptrt <- vector() | |
pctrl <- vector() | |
htrt <- vector() | |
hctrl <- vector() | |
if (referencerow == 1) { nonreferencerow <- 2 } | |
else { nonreferencerow <- 1 } | |
for (i in 1:numstrata) | |
{ | |
mymatrix <- mylist[[i]] | |
DiseaseUnexposed <- mymatrix[referencerow, 1] | |
ControlUnexposed <- mymatrix[referencerow, 2] | |
totUnexposed <- DiseaseUnexposed + ControlUnexposed | |
nctrl[i] <- totUnexposed | |
pctrl[i] <- DiseaseUnexposed | |
hctrl[i] <- ControlUnexposed | |
DiseaseExposed <- mymatrix[nonreferencerow, 1] | |
ControlExposed <- mymatrix[nonreferencerow, 2] | |
totExposed <- DiseaseExposed + ControlExposed | |
ntrt[i] <- totExposed | |
ptrt[i] <- DiseaseExposed | |
htrt[i] <- ControlExposed | |
} | |
# "matafor"パッケージにあるrma.mh関数を利用してTaroneの均一性の検定を計算する tarone <- rma.mh(ptrt, htrt, pctrl, hctrl, ntrt, nctrl) | |
pvalue <- tarone$TAp | |
print(paste("Tarone の検定の p 値 =", pvalue)) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment