我正在尝试创建从 Cox 回归分析得出的几个置信区间的森林图。该图起初表现良好,但是当我添加具有大置信区间的新数据时,森林图现在看起来非常混乱。有没有办法让情节不那么混乱,例如将 x 轴切割成某个值并使大的置信区间超出比例?非常感谢您的帮助。
我尝试过对数据进行日志转换,但这并没有解决问题。
示例数据(其中 condition 是一个标记,Compartment 是分组变量)。
Condition RiskRatio UpperLimit LowerLimit Compartment
8 0,939 1,363 0,647 Tumour
9 0,484 0,996 0,236 Tumour
10 1,124 1,632 0,775 Tumour
11 12,616 56,146 2,835 Tumour
12 0,981 3,092 0,311 Tumour
13 0,875 1,272 0,603 Tumour
8 1,264 0,871 1,836 Stroma
9 1,054 2,02 0,55 Stroma
10 0,957 1,388 0,659 Stroma
11 1,34 5,431 0,33 Stroma
12 0,683 4,896 0,095 Stroma
13 0,743 1,081 0,511 Stroma
8 1,129 1,639 0,777 1tot
9 0,665 0,391 1,13 1tot
10 0,972 1,411 0,67 1tot
11 2,441 6,648 0,896 1tot
12 0,981 3,092 0,311 1tot
13 0,806 1,171 0,555 1tot
p = ggplot(data=RR_data,
aes(x = Compartment,y = RiskRatio, ymin = LowerLimit, ymax = UpperLimit ))+
geom_pointrange(aes(col=Compartment))+ theme_classic() +
geom_hline(aes(fill=Compartment),yintercept =1, linetype=2)+
xlab('Immune cell population')+ ylab("Hazard Ratio (95% Confidence Interval)")+
geom_errorbar(aes(ymin=LowerLimit, ymax=UpperLimit,col=Compartment),width=0.5,cex=0.5)+
facet_wrap(~Condition,strip.position="left",nrow=9,scales = "free_y") +
theme(plot.title=element_text(size=10,face="bold"),
axis.text.y=element_blank(),
axis.ticks.y=element_blank(),
axis.text.x=element_text(face="bold"),
axis.title=element_text(size=10,face="bold"),
strip.text.y = element_text(hjust=0,vjust = 1,angle=180,face="bold"))+
scale_y_continuous(breaks=c(0.25,0.5,0.75,1,1.25,1.5,1.75,2,2.25,2.5,3,3.5))+
coord_flip()
p