Hi,
I am modeling the sensitivity and specificity of 7 diagnostic tests in a bivariate binomial model using glmer.
glmer(formula = cbind(true, n - true) ~ 0 + seM + spM + seMM + spMM + seMouth + spMouth +
seSM + spSM + seTM + spTM + seULBT + spULBT + seW + spW +
(0 + sens + spec | studyName), data = Compare_DL.df, family = binomial, nAGQ = 1)
The model without separating diagnostic tests is
glmer(formula = cbind(true, n - true) ~ 0 + sens + spec + (0 + sens + spec | studyName),
data = Compare_DL.df, family = binomial, nAGQ = 1)
The 7 test model assumes equal variances across tests.
The dataset includes sens, spec, seM, spM, etc as dummy index variables.
Both models can run and converge.
ANOVA shows improved fit:
Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq)
Simple model 5 8987.8 9007.6 -4488.9 8977.8
Separate tests 17 6878.5 6945.8 -3422.3 6844.5 2133.3 12 < 2.2e-16 ***
I need to identify any separation of sensitivity and specificity properties among the 7 tests.
One possibility would be to jointly contrast seTesti ? seTestj = 0 and spTesti ? spTestj = 0 for all pairwise comparisons of the 7 tests (with multiplicity adjustment).
However, I am unable to construct such tests in lme4. Is this possible in lme4? If so, what is the code?
I have looked at other packages (multcomp) without success.
As usual, all help will be appreciated.
Nathan Pace, MD, MStat
University of Utah
Salt Lake City, UT
n.l.pace at utah.edu
---
_________
____________________________________
R-sig-mixed-models at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
diagnostic test meta analysis using glmer
3 messages · Thierry Onkelinx, Nathan Leon Pace, MD, MStat
Dear Nathan, You can use the glht() function from the multcomp package to do post-hoc tests on contrasts. You should create a custom K matrix. See https://thebiobucket.blogspot.be/2011/06/glmm-with-custom-multiple-comparisons.html#more Best regards, Thierry ir. Thierry Onkelinx Statisticus / Statistician Vlaamse Overheid / Government of Flanders INSTITUUT VOOR NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE AND FOREST Team Biometrie & Kwaliteitszorg / Team Biometrics & Quality Assurance thierry.onkelinx at inbo.be Kliniekstraat 25, B-1070 Brussel www.inbo.be /////////////////////////////////////////////////////////////////////////////////////////// To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher The plural of anecdote is not data. ~ Roger Brinner The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data. ~ John Tukey /////////////////////////////////////////////////////////////////////////////////////////// [image: Van 14 tot en met 19 december 2017 verhuizen we uit onze vestiging in Brussel naar het Herman Teirlinckgebouw op de site Thurn & Taxis. Vanaf dan ben je welkom op het nieuwe adres: Havenlaan 88 bus 73, 1000 Brussel.] <https://overheid.vlaanderen.be/mobiliteitsplan-herman-teirlinckgebouw> Van 14 tot en met 19 december 2017 verhuizen we uit onze vestiging in Brussel naar het Herman Teirlinckgebouw op de site Thurn & Taxis. Vanaf dan ben je welkom op het nieuwe adres: Havenlaan 88 bus 73, 1000 Brussel. /////////////////////////////////////////////////////////////////////////////////////////// <https://www.inbo.be> 2017-11-14 7:04 GMT+01:00 Nathan Pace <n.l.pace at utah.edu>:
Hi,
I am modeling the sensitivity and specificity of 7 diagnostic tests in a
bivariate binomial model using glmer.
glmer(formula = cbind(true, n - true) ~ 0 + seM + spM + seMM + spMM +
seMouth + spMouth +
seSM + spSM + seTM + spTM + seULBT + spULBT +
seW + spW +
(0 + sens + spec | studyName), data =
Compare_DL.df, family = binomial, nAGQ = 1)
The model without separating diagnostic tests is
glmer(formula = cbind(true, n - true) ~ 0 + sens + spec + (0 + sens +
spec | studyName),
data = Compare_DL.df, family = binomial, nAGQ = 1)
The 7 test model assumes equal variances across tests.
The dataset includes sens, spec, seM, spM, etc as dummy index variables.
Both models can run and converge.
ANOVA shows improved fit:
Df AIC BIC logLik deviance
Chisq Chi Df Pr(>Chisq)
Simple model 5 8987.8 9007.6 -4488.9 8977.8
Separate tests 17 6878.5 6945.8 -3422.3 6844.5 2133.3 12 <
2.2e-16 ***
I need to identify any separation of sensitivity and specificity
properties among the 7 tests.
One possibility would be to jointly contrast seTesti ? seTestj = 0 and
spTesti ? spTestj = 0 for all pairwise comparisons of the 7 tests (with
multiplicity adjustment).
However, I am unable to construct such tests in lme4. Is this possible in
lme4? If so, what is the code?
I have looked at other packages (multcomp) without success.
As usual, all help will be appreciated.
Nathan Pace, MD, MStat
University of Utah
Salt Lake City, UT
n.l.pace at utah.edu
---
_________
____________________________________
R-sig-mixed-models at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
_______________________________________________
R-sig-mixed-models at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
Hi Thierry, Your link to the description of multiple comparisons in glht with custom K matrices for GLMM was much appreciated. It helped me think clearly about my contrast vectors. Thanks again, Nathan From: Thierry Onkelinx <thierry.onkelinx at inbo.be> Date: Tuesday, November 14, 2017 at 01:29 To: Nathan L Pace <n.l.pace at utah.edu> Cc: R-sig-mixed-models <r-sig-mixed-models at r-project.org> Subject: Re: [R-sig-ME] diagnostic test meta analysis using glmer Dear Nathan, You can use the glht() function from the multcomp package to do post-hoc tests on contrasts. You should create a custom K matrix. See https://thebiobucket.blogspot.be/2011/06/glmm-with-custom-multiple-comparisons.html#more Best regards, Thierry ir. Thierry Onkelinx Statisticus / Statistician Vlaamse Overheid / Government of Flanders INSTITUUT VOOR NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE AND FOREST Team Biometrie & Kwaliteitszorg / Team Biometrics & Quality Assurance thierry.onkelinx at inbo.be<mailto:thierry.onkelinx at inbo.be> Kliniekstraat 25, B-1070 Brussel www.inbo.be<http://www.inbo.be> /////////////////////////////////////////////////////////////////////////////////////////// To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher The plural of anecdote is not data. ~ Roger Brinner The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data. ~ John Tukey /////////////////////////////////////////////////////////////////////////////////////////// [Van 14 tot en met 19 december 20]<https://overheid.vlaanderen.be/mobiliteitsplan-herman-teirlinckgebouw> Van 14 tot en met 19 december 2017 verhuizen we uit onze vestiging in Brussel naar het Herman Teirlinckgebouw op de site Thurn & Taxis. Vanaf dan ben je welkom op het nieuwe adres: Havenlaan 88 bus 73, 1000 Brussel. /////////////////////////////////////////////////////////////////////////////////////////// [https://inbo-website-prd-532750756126.s3-eu-west-1.amazonaws.com/inbologoleeuw_nl.png]<https://www.inbo.be> 2017-11-14 7:04 GMT+01:00 Nathan Pace <n.l.pace at utah.edu<mailto:n.l.pace at utah.edu>>: Hi, I am modeling the sensitivity and specificity of 7 diagnostic tests in a bivariate binomial model using glmer. glmer(formula = cbind(true, n - true) ~ 0 + seM + spM + seMM + spMM + seMouth + spMouth + seSM + spSM + seTM + spTM + seULBT + spULBT + seW + spW + (0 + sens + spec | studyName), data = Compare_DL.df, family = binomial, nAGQ = 1) The model without separating diagnostic tests is glmer(formula = cbind(true, n - true) ~ 0 + sens + spec + (0 + sens + spec | studyName), data = Compare_DL.df, family = binomial, nAGQ = 1) The 7 test model assumes equal variances across tests. The dataset includes sens, spec, seM, spM, etc as dummy index variables. Both models can run and converge. ANOVA shows improved fit: Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq) Simple model 5 8987.8 9007.6 -4488.9 8977.8 Separate tests 17 6878.5 6945.8 -3422.3 6844.5 2133.3 12 < 2.2e-16 *** I need to identify any separation of sensitivity and specificity properties among the 7 tests. One possibility would be to jointly contrast seTesti ? seTestj = 0 and spTesti ? spTestj = 0 for all pairwise comparisons of the 7 tests (with multiplicity adjustment). However, I am unable to construct such tests in lme4. Is this possible in lme4? If so, what is the code? I have looked at other packages (multcomp) without success. As usual, all help will be appreciated. Nathan Pace, MD, MStat University of Utah Salt Lake City, UT n.l.pace at utah.edu<mailto:n.l.pace at utah.edu> --- _________ ____________________________________ R-sig-mixed-models at r-project.org<mailto:R-sig-mixed-models at r-project.org> mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models _______________________________________________ R-sig-mixed-models at r-project.org<mailto:R-sig-mixed-models at r-project.org> mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models