At 15:54 10/11/2006, Viechtbauer Wolfgang (STAT) wrote: Thanks for the suggestion Wolfgang, but whatever the original authors did that is not it.
>Hello, > >A common way to calculate the CI for a relative risk is the >following. Given a 2x2 table of the form: > >a b >c d > >the log of the risk ratio is given by: > >lrr = log[ a/(a+b) / ( c/(c+d) ) ] > >which is asymptotically normal with variance: > >vlrr = 1/a - 1/(a+b) + 1/c - 1/(c+d). > >So an approximate 95% CI for the risk ratio is given by: > >exp[ lrr - 1.96*sqrt(vlrr) ], exp[ lrr + 1.96*sqrt(vlrr) ]. > >A common convention is to add 1/2 to each cell when there are zeros. > >So, for the table: > > Col 1 Col 2 >Row 1 8 500 >Row 2 0 500 > >lrr = log[ 8.5/509 / ( 0.5/501 ) ] = 2.817 >vllr = 1/8.5 - 1/509 + 1/0.5 - 1/501 = 2.1137 > >exp[ 2.817-1.96*sqrt(2.1137) ] = .97 >exp[ 2.817+1.96*sqrt(2.1137) ] = 289.04 > >Maybe that is what the authors did. > >Best, > >-- >Wolfgang Viechtbauer > Department of Methodology and Statistics > University of Maastricht, The Netherlands > http://www.wvbauer.com/ > > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:r-help- > > [EMAIL PROTECTED] On Behalf Of Michael Dewey > > Sent: Friday, November 10, 2006 15:43 > > To: r-help@stat.math.ethz.ch > > Subject: [R] Confidence interval for relative risk > > > > The concrete problem is that I am refereeing > > a paper where a confidence interval is > > presented for the risk ratio and I do not find > > it credible. I show below my attempts to > > do this in R. The example is slightly changed > > from the authors'. > > > > I can obtain a confidence interval for > > the odds ratio from fisher.test of > > course > > > > === fisher.test example === > > > > > outcome <- matrix(c(500, 0, 500, 8), ncol = 2, byrow = TRUE) > > > fisher.test(outcome) > > > > Fisher's Exact Test for Count Data > > > > data: outcome > > p-value = 0.00761 > > alternative hypothesis: true odds ratio is not equal to 1 > > 95 percent confidence interval: > > 1.694792 Inf > > sample estimates: > > odds ratio > > Inf > > > > === end example === > > > > but in epidemiology authors often > > prefer to present risk ratios. > > > > Using the facility on CRAN to search > > the site I find packages epitools and Epi > > which both offer confidence intervals > > for the risk ratio > > > > === Epi example === > > > > > library(Epi) > > > twoby2(outcome[c(2,1),c(2,1)]) > > 2 by 2 table analysis: > > ------------------------------------------------------ > > Outcome : Col 1 > > Comparing : Row 1 vs. Row 2 > > > > Col 1 Col 2 P(Col 1) 95% conf. interval > > Row 1 8 500 0.0157 0.0079 0.0312 > > Row 2 0 500 0.0000 0.0000 NaN > > > > 95% conf. interval > > Relative Risk: Inf NaN Inf > > Sample Odds Ratio: Inf NaN Inf > > Conditional MLE Odds Ratio: Inf 1.6948 Inf > > Probability difference: 0.0157 0.0027 0.0337 > > > > Exact P-value: 0.0076 > > Asymptotic P-value: NaN > > ------------------------------------------------------ > > > > === end example === > > > > So Epi gives me a lower limit of NaN but the same confidence > > interval and p-value as fisher.test > > > > === epitools example === > > > > > library(epitools) > > > riskratio(outcome) > > $data > > Outcome > > Predictor Disease1 Disease2 Total > > Exposed1 500 0 500 > > Exposed2 500 8 508 > > Total 1000 8 1008 > > > > $measure > > risk ratio with 95% C.I. > > Predictor estimate lower upper > > Exposed1 1 NA NA > > Exposed2 Inf NaN Inf > > > > $p.value > > two-sided > > Predictor midp.exact fisher.exact chi.square > > Exposed1 NA NA NA > > Exposed2 0.00404821 0.007610478 0.004843385 > > > > $correction > > [1] FALSE > > > > attr(,"method") > > [1] "Unconditional MLE & normal approximation (Wald) CI" > > Warning message: > > Chi-squared approximation may be incorrect in: chisq.test(xx, correct = > > correction) > > > > === end example === > > > > And epitools also gives a lower limit > > of NaN. > > > > === end all examples === > > > > I would prefer not to have to tell the authors of the > > paper I am refereeing that > > I think they are wrong unless I can help them with what they > > should have done. > > > > Is there another package I should have tried? > > > > Is there some other way of doing this? > > > > Am I doing something fundamentally wrong-headed? > > > > > > > > Michael Dewey > > http://www.aghmed.fsnet.co.uk Michael Dewey http://www.aghmed.fsnet.co.uk ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.