r - reordering facets in ggplot2 -


i've been through examples changing facet orders on site can't seem work specific case. ideas of how data setup appreciated. i'm new ggplot2 , supremely stumped. models ordered m1, m2, m3 m1 on top of each facet. thanks!

outcome<-c(1,1,1,2,2,2,3,3,3) or<-c(1.97,2.47,3.56,1.73,2.25,4.09,1.21,1.48,2.25) min<-c(1.37,1.74,2.55,1.13,1.52,2.84,0.74,0.95,1.49) max<-c(2.83,3.49,4.98,2.66,3.35,5.9,1.97,2.33,3.41) aces<-c(1,2,3,1,2,3,1,2,3) ace<-data.frame(cbind(outcome,or,min,max,aces))  ace_labels <- list('1'="1 ace",'2'="2 aces",'3'="3 aces")  ace_labeller <- function(variable,value){return(ace_labels[value])}  ace$outcome = factor(ace$outcome, levels=c("1","2","3"),                   labels=c("m1: depression","m2: mh barrier work",                           "m3: mh barrier work"))              ggplot(data=ace,aes(x=or,y=outcome,label=or))+ geom_point(aes(size=8))+ geom_text(size=5,vjust=1.8)+ geom_errorbarh(aes(xmin=min,xmax=max),height=.1)+ geom_vline(xintercept=1,linetype="dashed")+ scale_x_log10(breaks=seq(1,6,1),name="figure 1: odds ratios (or) , 95% confidence intervals models 1, 2 , 3 (n=1073)             \neach or compared 0 aces")+ labs(y="")+ facet_grid(aces~., labeller=ace_labeller)+ guides(size=false)+ theme_bw()+ theme(axis.text.y=element_text(size=12))+ theme(strip.text.y=element_text(size = 12))+ theme(axis.title.x=element_text(face="italic", size = 12,hjust=.5)) 

enter image description here

if reverse labels set ace$outcome can plot m1 on top, m2, , m3 on bottom in each facet.

just change:

ace$outcome = factor(ace$outcome, levels=c("3","2","1"),               labels=c("m3: mh barrier work",                       "m2: mh barrier work",                       "m1: depression")) 

using same sample data , plot code produces:

enter image description here

your code (with noted above changed):

outcome<-c(1,1,1,2,2,2,3,3,3) or<-c(1.97,2.47,3.56,1.73,2.25,4.09,1.21,1.48,2.25) min<-c(1.37,1.74,2.55,1.13,1.52,2.84,0.74,0.95,1.49) max<-c(2.83,3.49,4.98,2.66,3.35,5.9,1.97,2.33,3.41) aces<-c(1,2,3,1,2,3,1,2,3) ace<-data.frame(cbind(outcome,or,min,max,aces))  ace_labels <- list('1'="1 ace",'2'="2 aces",'3'="3 aces")  ace_labeller <- function(variable,value){return(ace_labels[value])}  ace$outcome = factor(ace$outcome, levels=c("3","2","1"),                   labels=c("m3: mh barrier work",                           "m2: mh barrier work",                           "m1: depression"))              library(ggplot2)  ggplot(data=ace,aes(x=or,y=outcome,label=or))+ geom_point(aes(size=8))+ geom_text(size=5,vjust=1.8)+ geom_errorbarh(aes(xmin=min,xmax=max),height=.1)+ geom_vline(xintercept=1,linetype="dashed")+ scale_x_log10(breaks=seq(1,6,1),name="figure 1: odds ratios (or) , 95% confidence intervals models 1, 2 , 3 (n=1073)             \neach or compared 0 aces")+ labs(y="")+ facet_grid(aces~., labeller=ace_labeller)+ guides(size=false)+ theme_bw()+ theme(axis.text.y=element_text(size=12))+ theme(strip.text.y=element_text(size = 12))+ theme(axis.title.x=element_text(face="italic", size = 12,hjust=.5)) 

Comments

Popular posts from this blog

node.js - Mongoose: Cast to ObjectId failed for value on newly created object after setting the value -

gradle error "Cannot convert the provided notation to a File or URI" -

python - NameError: name 'subprocess' is not defined -