R语言 森林图 数据排列不正确

jao
  • 1
新手上路,请多包涵

数据集如下
image.png


代码1:



        
#组装数据
        meanlnRR<-data.frame("bootCI1","bootCI2", "mean")
meanlnRR[1,] <- c(
  round(meanlnRR.LitterHerbaceousBB$ci.lb,4),
  round(meanlnRR.LitterHerbaceousBB$ci.ub,4),
  round(meanlnRR.LitterHerbaceousBB$b[1,1],4))

meanlnRR[2,] <- c(
  round(meanlnRR.LitterHerbaceousFB$ci.lb,4),
  round(meanlnRR.LitterHerbaceousFB$ci.ub,4),
  round(meanlnRR.LitterHerbaceousFB$b[1,1],4))

meanlnRR<-setNames(meanlnRR, c("bootCI1","bootCI2", "mean")) ###重命名

meanlnRR$input_pathway<-c("litter","litter")  ###添加变量

meanlnRR$variable<-c("BB","FB")  ###添加变量


####提取数据量number of observations
N_BB<-length(resid(meanlnRR.LitterHerbaceousBB))  
N_FB<-length(resid(meanlnRR.LitterHerbaceousFB))  
meanlnRR$number<-c(N_BB,N_FB)


###画图
# font=theme(axis.title.x=element_text(size=11),axis.text.x=element_text(size=11),
#            axis.title.y=element_text(size=11),axis.text.y=element_text(size=11)) ##改字体大小



meanlnRR$variable<-factor(meanlnRR$variable,
                          levels = c("BB","FB")) ###设置因变量Y的顺序



F1<-ggplot(meanlnRR)+ ###data
  geom_point(aes(x=variable, y=mean, col="chocolate2"),stat="identity", shape=21,size=5)+ ##画数据点
  geom_errorbar(aes(x=variable,ymin=bootCI1, ymax=bootCI2, col="chocolate2"), width=0, size=0.5)+ ##画95%CI
  geom_text(aes(label=number, x=variable, col="chocolate2", y=0.6,hjust=0), size=4)+  ##添加数据量
  coord_flip(ylim = c(-1, 0.7))+   ##转换x-y
  scale_x_discrete(limits = rev(levels(meanlnRR$variable)))+  #变量排序
  theme_bw()+
  theme(axis.line = element_line(colour = "black"), panel.background = element_blank())+ ##格式
  scale_colour_hue(l=40) + 
  theme(legend.position="none")+  ##格式
  geom_hline(aes(yintercept=0),linetype="dashed",colour="black")+ ##在0画虚线
  xlab("")+ylab("Weighted mean ln(RR)")+font  ###y坐标标题
F1


代码1结果:
image.png


修改代码:

F1<-ggplot(meanlnRR)+ ###data
  geom_point(aes(x=variable, y=mean, col="chocolate2"),stat="identity", shape=21,size=5)+ ##画数据点
  geom_errorbar(aes(x=variable,ymin=bootCI1, ymax=bootCI2, col="chocolate2"), width=0, size=0.5)+ ##画95%CI
  geom_text(aes(label=number, x=variable, col="chocolate2", y=0.6,hjust=0), size=4)+  ##添加数据量
  coord_flip(ylim = c(-1, 0.7))+   ##转换x-y
  scale_x_discrete(limits = rev(levels(meanlnRR$variable)))+  #变量排序
  theme_bw()+
  theme(axis.line = element_line(colour = "black"), panel.background = element_blank())+ ##格式
  scale_colour_hue(l=40) + 
  theme(legend.position="none")+  ##格式
  geom_hline(aes(yintercept=0),linetype="dashed",colour="black")+ ##在0画虚线
  xlab("")+ylab("Weighted mean ln(RR)")+font  ###y坐标标题
F1

修改为:


F1<-ggplot(meanlnRR)+ ###data
  geom_point(aes(x=variable, y=mean, col="chocolate2"),stat="identity", shape=21,size=5)+ ##画数据点
  geom_errorbar(aes(x=variable,ymin=bootCI1, ymax=bootCI2, col="chocolate2"), width=0, size=0.5)+ ##画95%CI
  geom_text(aes(label=number, x=variable, col="chocolate2", y=0.6,hjust=0), size=4)+  ##添加数据量
  # coord_flip(ylim = c(-1, 0.7))+   ##转换x-y
  scale_x_discrete(limits = rev(levels(meanlnRR$variable)))+  #变量排序
  theme_bw()+
  theme(axis.line = element_line(colour = "black"), panel.background = element_blank())+ ##格式
  scale_colour_hue(l=40) + 
  theme(legend.position="none")+  ##格式
  geom_hline(aes(yintercept=0),linetype="dashed",colour="black")+ ##在0画虚线
  xlab("")+ylab("Weighted mean ln(RR)")+font  ###y坐标标题
F1

作图结果:
image.png
作图结果变成这样了,我就想请问,是什么原因,我如何进行处理呢?
感谢各位大牛!

回复
阅读 356
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏