2

我有一个如下所示的 data.frame (d):

x     y     ylo    yhi 
A   0.21    0.01   0.41
D   0.11   -0.09   0.31  
M   0.13   -0.07   0.33 
N   0.14   -0.06   0.34
F   0.17   -0.03   0.37

我使用在网上找到的以下代码绘制了一个森林图:

credplot.gg <- function(d){
require(ggplot2)
p <- ggplot(d, aes(x=x, y=y, ymin=ylo, ymax=yhi))+geom_pointrange()+
       coord_flip() + geom_hline(aes(x=0), lty=2)+ xlab('Variable')
return(p)

}

credplot.gg(d)

它返回给我我需要的森林图,除了我的 d$x 列的顺序发生了变化。是否可以绘制保持 d$x 列中元素顺序的森林图?

4

1 回答 1

6

是的。请参阅此博客文章,因为这是一个因素重新平衡问题:

这是如何做到的:

d$x <- factor(d$x, levels=rev(d$x))
credplot.gg(d)
于 2013-09-20T15:47:08.653 回答