2015-02-10 96 views
1

我真的很想用这样一个情节来制作一个情节。我已经试用了metafor包中的forest()命令,但似乎无法创造任何可比较的结果。我也有两个组,多个分类变量和百分比 - 基本上,这个图中显示的数据完全一样。任何人都可以给我关于如何使用R来解决问题的建议吗?使用R制作一个定制的两组森林图

Plot

回答

3

使用这些颜色直观地让我要建议使用这些人恰恰是两个ggvis包颜色(默认情况下,虽然显然你可以改变它们)来做到这一点:

请看下面的例子:

数据

y <- letters[1:10] 
x <- runif(10) 
gender <- rep(c('male','female'),5) 
df <- data.frame(y,x,gender) 

library(ggvis) 
df %>% ggvis(x= ~x, y= ~y, fill= ~gender) %>% layer_points() 

enter image description here

编辑

如果您需要删除网格线显示酷似你贴,你可以做以下图表:

df %>% ggvis(x= ~x, y= ~y, fill= ~gender) %>% layer_points() %>% 
    add_axis('x', properties= axis_props(grid = list(stroke = 'blank'))) %>% 
    add_axis('y', properties= axis_props(grid = list(stroke = 'blank'))) 
+0

哇感谢!我如何将蓝色和橙色的点像原来一样放在相同的线上? – Alexander 2015-02-10 16:39:49

+1

这只是我制作的一个示例数据集。如果“c”类别(例如)具有女性和男性条目,则它们将显示在相同的行上。在我的例子中,没有男性和女性重叠:)。我很高兴我可以帮助:)。如果你用你的数据复制它,它将显示完全一样的。 – LyzandeR 2015-02-10 16:41:56

+0

太棒了,这正是我需要的。我只是将它应用到我自己的数据中,并且完美地实现了。非常感谢! – Alexander 2015-02-10 17:00:01

2

您可以ggplot尝试,只是两个组的例子:

library(ggplot2) 
data<-data.frame(type=c("Music","Physics","Music","Physics"),gender=c("Male","Male","Female","Female"),val=c(10,20,30,40)) 
ggplot(data,aes(x=val,y=type,color=gender))+geom_point(size=3)+theme_bw() 

enter image description here