ggplot2 should work (resize to get the plot to the dimensions you need for the paper)
library(Hmisc) library(pscl) library(ggplot2) ## data data("bioChemists", package = "pscl") fm_pois <- glm(art ~ ., data = bioChemists, family = poisson) summary(fm_pois) ### pull out rate-ratios and 95% CI rr <- exp(cbind(coef(fm_pois), confint(fm_pois))) rr ### round to 2 decimal places rr <- as.data.frame(round(rr, 2)) colnames(rr)<-c("y","ymin","ymax") rr$labl<-rownames(rr) ## Change this to meaningful labels rr$x<-1:length(rownames(rr)) gpl<-ggplot(rr,aes(x,y,ymin=ymin,ymax=ymax)) gpl+geom_point()+geom_linerange()+ geom_hline(aes(yintercept=1), linetype="dashed",size=0.5)+ geom_text(aes(x,y=0.3,label=y,hjust=0),size=3)+ geom_text(aes(x,y=0.0,label=labl),size=3)+ geom_text(aes(x,y=0.5,label=paste("[",ymin,",",ymax,"]",sep="") ,hjust=0.0),size=3)+ ylab("Relative Risk")+xlab("")+ coord_cartesian(ylim=c(-1,1.7))+ coord_cartesian(xlim=c(0.85,6.15))+ scale_x_continuous(breaks=NA)+ scale_y_continuous(breaks=seq(0.8,1.6,.1))+ opts( panel.grid.major = theme_blank(), panel.grid.minor=theme_blank(), title="", panel.background = theme_rect(fill=NA,colour=NA) )+ coord_flip()+ geom_text(aes(x=6.3,y=0.35,label="RR"),size=4)+ geom_text(aes(x=6.3,y=0.60,label="95% CI"),size=4) Christos > Date: Mon, 19 Apr 2010 09:29:48 -0700 > From: datk...@u.washington.edu > To: r-help@r-project.org > Subject: [R] plotting RR, 95% CI as table and figure in same plot > > > Hi all-- > > I am in the process of helping colleagues write up a ms in which we fit > zero-inflated Poisson models. I would prefer plotting the rate ratios > and 95% CI (as I've found Gelman and others convincing about plotting > tables...), but our journals usually like the numbers themselves. > > Thus, I'm looking at a recent JAMA article in which both numbers and > dotplot of RR and 95% CI are presented and wondering about best way to > do this in R. > > Essentially, the plot has 3 columns: variable names, RR and 95% CI, and > dotplot of the same. > > Using the bioChemists data in the pscl package and errbar function in > Hmisc package, the code below is in the right direction... but still > pretty ugly. > > Wondering if folks would have alternative suggestions about how to go > about this, or pointers on cleaning up the code below (eg, I know there > are many functions for plotting errbars/CI). > > [And, obviously, there are somethings that would be straightforward to > clean-up such as supplying better variable names, etc., just wanted to > see if there were better overall suggestions before getting too far on > this route.] > > Thanks in advance. > > cheers, Dave > > library(Hmisc) > library(pscl) > > ## data > data("bioChemists", package = "pscl") > fm_pois <- glm(art ~ ., data = bioChemists, family = poisson) > summary(fm_pois) > > ### pull out rate-ratios and 95% CI > rr <- exp(cbind(coef(fm_pois), confint(fm_pois))) > rr > ### round to 2 decimal places > rr <- round(rr, 2) > > ### plot > par(mfrow=c(1,3)) > plot(0, type = "n", xlim=c(0,2), ylim=c(1,6), > axes = FALSE, ylab=NULL, xlab=NULL) > text(row.names(rr), x = 1, y = 1:6) > > plot(0, type = "n", xlim=c(0,2), ylim=c(1,6), > axes = FALSE, ylab=NULL, xlab=NULL) > text(paste(rr[,1], " [", rr[,2], ", ", rr[,3], "]", sep = ""), x = 1, y > = 1:6) > > errbar(x = factor(row.names(rr)), > y = rr[,1], yplus = rr[,3], > yminus = rr[,2]) > abline(v = 1, lty =2) > > -- > Dave Atkins, PhD > Research Associate Professor > Department of Psychiatry and Behavioral Science > University of Washington > datk...@u.washington.edu > > Center for the Study of Health and Risk Behaviors (CSHRB) > 1100 NE 45th Street, Suite 300 > Seattle, WA 98105 > 206-616-3879 > http://depts.washington.edu/cshrb/ > (Mon-Wed) > > Center for Healthcare Improvement, for Addictions, Mental Illness, > Medically Vulnerable Populations (CHAMMP) > 325 9th Avenue, 2HH-15 > Box 359911 > Seattle, WA 98104? > 206-897-4210 > http://www.chammp.org > (Thurs) > > ______________________________________________ > R-help@r-project.org 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. _________________________________________________________________ Hotmail: Trusted email with powerful SPAM protection. [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org 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.