권태용, 조창제

민감도는 질환이 있는 사람 중 결과가 양성인 사람의 비율

특이도는 질환이 없는 사람 중 검사 결과가 음성인 사람의 비율

민감도 =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-특이도)이 양의 상관관계를 가지므로

민감도와 특이도는 음의 상관관계를 가짐.

Coupled forest plot

개별 연구들의 민감도와 특이도의 변동 정도 파악 가능

연구 간 이질성이 있어 보임

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)

Moses-Littenberg SROC curve

요약 추정치를 제공하지 않으며, 연구간 이질성 추정이 불가능

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)

Bivariate model

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)