민감도는 질환이 있는 사람 중 결과가 양성인 사람의 비율
특이도는 질환이 없는 사람 중 검사 결과가 음성인 사람의 비율
민감도 =TP/(TP+FN), 특이도 =TN/(FP+TN) 일반적으로 민감도와 특이도는 음의 상관관계를 가짐.
x
## Descriptive summary of Q2 with 14 primary studies.
## Confidence level for all calculations set to 95 %
## Using a continuity correction of 0.5 if applicable
##
## Diagnostic accuracies
## sens 2.5% 97.5% spec 2.5% 97.5%
## [1,] 0.473 0.347 0.602 0.444 0.309 0.588
## [2,] 0.928 0.858 0.965 0.223 0.154 0.313
## [3,] 0.862 0.831 0.887 0.318 0.271 0.369
## [4,] 0.821 0.702 0.900 0.369 0.318 0.423
## [5,] 0.700 0.546 0.819 0.365 0.248 0.501
## [6,] 0.919 0.841 0.960 0.176 0.062 0.410
## [7,] 0.919 0.825 0.965 0.304 0.199 0.433
## [8,] 0.529 0.425 0.630 0.379 0.271 0.499
## [9,] 0.741 0.674 0.798 0.383 0.303 0.469
## [10,] 0.928 0.864 0.963 0.344 0.239 0.466
## [11,] 0.855 0.798 0.898 0.218 0.151 0.304
## [12,] 0.583 0.388 0.755 0.391 0.222 0.592
## [13,] 0.815 0.765 0.857 0.457 0.374 0.543
## [14,] 0.729 0.615 0.819 0.358 0.262 0.467
##
## Test for equality of sensitivities:
## X-squared = 151.3525, df = 13, p-value = <2e-16
## Test for equality of specificities:
## X-squared = 29.8371, df = 13, p-value = 0.00497
##
##
## Diagnostic OR and likelihood ratios
## DOR 2.5% 97.5% posLR 2.5% 97.5% negLR 2.5% 97.5%
## [1,] 0.717 0.325 1.582 0.851 0.581 1.247 1.186 0.786 1.790
## [2,] 3.696 1.506 9.074 1.195 1.062 1.344 0.323 0.145 0.719
## [3,] 2.904 2.095 4.026 1.263 1.167 1.367 0.435 0.337 0.561
## [4,] 2.691 1.309 5.533 1.302 1.122 1.510 0.484 0.271 0.864
## [5,] 1.343 0.557 3.242 1.103 0.826 1.473 0.821 0.453 1.487
## [6,] 2.418 0.558 10.487 1.115 0.887 1.402 0.461 0.132 1.607
## [7,] 4.969 1.692 14.590 1.320 1.094 1.593 0.266 0.105 0.673
## [8,] 0.684 0.357 1.313 0.851 0.647 1.119 1.244 0.850 1.821
## [9,] 1.772 1.094 2.871 1.200 1.022 1.409 0.677 0.489 0.939
## [10,] 6.744 2.783 16.344 1.414 1.175 1.701 0.210 0.099 0.443
## [11,] 1.645 0.899 3.009 1.094 0.975 1.226 0.665 0.406 1.088
## [12,] 0.900 0.280 2.888 0.958 0.598 1.535 1.065 0.531 2.135
## [13,] 3.725 2.345 5.918 1.503 1.270 1.778 0.403 0.295 0.552
## [14,] 1.497 0.747 3.001 1.135 0.914 1.409 0.758 0.468 1.228
##
## Correlation of sensitivities and false positive rates:
## rho 2.5 % 97.5 %
## 0.648 0.180 0.877
민감도와 위양성률(1-특이도)이 양의 상관관계를 가지므로
민감도와 특이도는 음의 상관관계를 가짐.
개별 연구들의 민감도와 특이도의 변동 정도 파악 가능
연구 간 이질성이 있어 보임
par(mfrow=c(1,2),mar=c(3,1,1,1))
forest(x, type="sens", snames=as.character(Q2$Author), main="sens",cex=0.7)
forest(x, type="spec", snames=as.character(Q2$Author), main="spec",cex=0.7)
요약 추정치를 제공하지 않으며, 연구간 이질성 추정이 불가능
par(mfrow=c(1,2))
plot(fpr(Q2),sens(Q2),xlim = c(0,1), ylim= c(0,1),
ylab="Sensitivity", xlab="False Positive Rate",pch=16,cex.main=0.8,bty='l' ,cex=0.8,main='SROC plot')
mslSROC(Q2, main="MOses-Littenberg SROC curve", xlab="1-specificity",
ylab="sensitivity", ylim=c(0,1), xlim=c(0,1),cex.main=0.8,bty='l')
points(fpr(Q2), sens(Q2), pch = 16,cex=0.8)
model=reitsma(Q2,formula = cbind(tsens,tfpr)~1)
summary(model)
## Call: reitsma.default(data = Q2, formula = cbind(tsens, tfpr) ~ 1)
##
## Bivariate diagnostic random-effects meta-analysis
## Estimation method: REML
##
## Fixed-effects coefficients
## Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
## tsens.(Intercept) 1.398 0.238 5.863 0.000 0.930 1.865 ***
## tfpr.(Intercept) 0.637 0.098 6.472 0.000 0.444 0.830 ***
## sensitivity 0.802 - - - 0.717 0.866
## false pos. rate 0.654 - - - 0.609 0.696
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Variance components: between-studies Std. Dev and correlation matrix
## Std. Dev tsens tfpr
## tsens 0.840 1.000 .
## tfpr 0.286 0.836 1.000
##
## logLik AIC BIC
## 26.809 -43.619 -36.958
##
## AUC: 0.457
## Partial AUC (restricted to observed FPRs and normalized): 0.808
##
## HSROC parameters
## Theta Lambda beta sigma2theta sigma2alpha
## 0.954 -0.276 -1.077 0.220 0.079
민감도와 (1-특이도)의 상관계수가 0.8356으로
민감도와 특이도는 강한 음의 상관관계를 가진다.
summary(model)$corRandom
## tsens tfpr
## tsens 1.0000000 0.8356162
## tfpr 0.8356162 1.0000000
par(mfrow=c(1,2))
plot(model,sroclwd=2, main="SROC curve",predict=TRUE,extrapolate=TRUE,cex.main=0.8)
points(fpr(Q2), sens(Q2), pch =16,cex=0.8)
legend("topleft", c("SROC", "conf. region"), lwd = c(2,1),bty='n',cex=0.7)
plot(model,sroclwd=2, main="SROC curve",predict=TRUE,extrapolate=FALSE,cex.main=.8)
points(fpr(Q2), sens(Q2), pch =16,cex=0.8)
legend("topleft", c("SROC", "conf. region"), lwd = c(2,1),bty='n',cex=0.7)
summary(reitsma(Q2,formula=cbind(tsens,tfpr)~Disease))
## Call: reitsma.default(data = Q2, formula = cbind(tsens, tfpr) ~ Disease)
##
## Bivariate diagnostic random-effects meta-regression
## Estimation method: REML
##
## Fixed-effects coefficients
## Estimate Std. Error z
## tsens.(Intercept) 1.326 0.442 3.002
## tsens.DiseaseOsteoporosis 0.160 1.053 0.152
## tsens.DiseaseThromboembolic disease -0.339 1.076 -0.315
## tsens.DiseaseTreatment Resistant Hypertension -0.990 1.121 -0.883
## tsens.DiseaseType 2 Diabetes mellitus 0.328 0.599 0.547
## tfpr.(Intercept) 0.613 0.150 4.088
## tfpr.DiseaseOsteoporosis -0.442 0.369 -1.197
## tfpr.DiseaseThromboembolic disease -0.029 0.398 -0.072
## tfpr.DiseaseTreatment Resistant Hypertension -0.171 0.536 -0.318
## tfpr.DiseaseType 2 Diabetes mellitus 0.194 0.217 0.892
## Pr(>|z|) 95%ci.lb 95%ci.ub
## tsens.(Intercept) 0.003 0.460 2.192
## tsens.DiseaseOsteoporosis 0.879 -1.904 2.224
## tsens.DiseaseThromboembolic disease 0.753 -2.447 1.769
## tsens.DiseaseTreatment Resistant Hypertension 0.377 -3.186 1.207
## tsens.DiseaseType 2 Diabetes mellitus 0.585 -0.847 1.502
## tfpr.(Intercept) 0.000 0.319 0.906
## tfpr.DiseaseOsteoporosis 0.231 -1.165 0.282
## tfpr.DiseaseThromboembolic disease 0.943 -0.809 0.752
## tfpr.DiseaseTreatment Resistant Hypertension 0.750 -1.222 0.880
## tfpr.DiseaseType 2 Diabetes mellitus 0.372 -0.232 0.620
##
## tsens.(Intercept) **
## tsens.DiseaseOsteoporosis
## tsens.DiseaseThromboembolic disease
## tsens.DiseaseTreatment Resistant Hypertension
## tsens.DiseaseType 2 Diabetes mellitus
## tfpr.(Intercept) ***
## tfpr.DiseaseOsteoporosis
## tfpr.DiseaseThromboembolic disease
## tfpr.DiseaseTreatment Resistant Hypertension
## tfpr.DiseaseType 2 Diabetes mellitus
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Variance components: between-studies Std. Dev and correlation matrix
## Std. Dev tsens tfpr
## tsens 0.943 1.000 .
## tfpr 0.287 1.000 1.000
##
## logLik AIC BIC
## 32.062 -38.123 -20.805
summary(reitsma(Q2,formula=cbind(tsens,tfpr)~Reference))
## Call: reitsma.default(data = Q2, formula = cbind(tsens, tfpr) ~ Reference)
##
## Bivariate diagnostic random-effects meta-analysis
## Estimation method: REML
##
## Fixed-effects coefficients
## Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
## tsens.(Intercept) 1.424 0.532 2.678 0.007 0.382 2.465
## tsens.Reference -0.009 0.221 -0.041 0.967 -0.442 0.423
## tfpr.(Intercept) 0.885 0.209 4.229 0.000 0.475 1.296
## tfpr.Reference -0.120 0.087 -1.386 0.166 -0.290 0.050
##
## tsens.(Intercept) **
## tsens.Reference
## tfpr.(Intercept) ***
## tfpr.Reference
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Variance components: between-studies Std. Dev and correlation matrix
## Std. Dev tsens tfpr
## tsens 0.879 1.000 .
## tfpr 0.277 0.956 1.000
##
## logLik AIC BIC
## 25.893 -37.786 -28.461
summary(reitsma(Q2,formula=cbind(tsens,tfpr)~Measurement))
## Call: reitsma.default(data = Q2, formula = cbind(tsens, tfpr) ~ Measurement)
##
## Bivariate diagnostic random-effects meta-analysis
## Estimation method: REML
##
## Fixed-effects coefficients
## Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
## tsens.(Intercept) 1.871 0.772 2.424 0.015 0.358 3.384 *
## tsens.Measurement -0.315 0.488 -0.646 0.518 -1.272 0.641
## tfpr.(Intercept) 1.030 0.325 3.172 0.002 0.393 1.666 **
## tfpr.Measurement -0.254 0.200 -1.270 0.204 -0.646 0.138
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Variance components: between-studies Std. Dev and correlation matrix
## Std. Dev tsens tfpr
## tsens 0.862 1.000 .
## tfpr 0.291 0.861 1.000
##
## logLik AIC BIC
## 26.871 -39.742 -30.417
당뇨인 그룹과 아닌 그룹
a
## [1] "Disease" "Reference" "Measurement"
q1<-c('Type 2 Diabetes mellitus')
data1<-Q2[Q2[,a[1]]%in%q1,]
model_cov1=reitsma(data1)
par(mfrow=c(1,2))
plot(model_cov1,sroclwd=2,predict=TRUE,extrapolate=FALSE,bty='l')
points(fpr(data1),
sens(data1),
pch=16,cex=0.8)
qq1<-setdiff(unique(Q2[,a[1]]),q1)
data2<-Q2[Q2[,a[1]]%in%qq1,]
model_cov0=reitsma(data2)
plot(model_cov0,sroclwd=2,predict=TRUE,extrapolate=FALSE,bty='l')
points(fpr(data2),
sens(data2),
pch=16,cex=0.8)
아직 이질성이 존재하므로
당뇨환자면서Reference 가 1인 그룹으로 하위 그룹
a
## [1] "Disease" "Reference" "Measurement"
q1<-c('Type 2 Diabetes mellitus')
q2<-c(1)
data1<-Q2[Q2[,a[1]]%in%q1&Q2[,a[2]]%in%q2,]
model_cov1=reitsma(data1)
par(mfrow=c(1,1))
plot(model_cov1,sroclwd=2,predict=TRUE,extrapolate=FALSE,bty='l')
points(fpr(data1),
sens(data1),
pch=16,cex=0.8)
qq1<-setdiff(unique(Q2[,a[1]]),q1)
qq2<-setdiff(unique(Q2[,a[2]]),q2)
data2<-Q2[Q2[,a[1]]%in%qq1|Q2[,a[2]]%in%qq2,]
당뇨가 아닌 그룹에서 고혈압인 그루루룹과 아닌 그룹으로 분류
data<-Q2[Q2[,a[1]]%in%qq1,]
par(mfrow=c(1,2))
model_cov2_1=reitsma(data[grep('Hypertension',data[,a[1]]),])
plot(model_cov2_1,sroclwd=2,predict=T,extrapolate=F,bty='l')
points(fpr(data[grep('Hypertension',data[,a[1]]),]),sens(data[grep('Hypertension',data[,a[1]]),]),pch=16,cex=0.8)
data3<-data[-grep('Hypertension',data[,a[1]]),]
model_cov2_2=reitsma(data3)
## Warning in checkdata(freqdata): There are very few primary studies!
plot(model_cov2_2,sroclwd=2,predict=T,extrapolate=F,bty='l')
points(fpr(data3),sens(data3),pch=16,cex=0.8)
data4<-data[data$Disease=='Hypertension',]
model_cov2_2=reitsma(data4)
plot(model_cov2_2,sroclwd=2,predict=T,extrapolate=F,bty='l')
points(fpr(data4),sens(data4),pch=16,cex=0.8)