使用 R 制作两个组的自定义森林图
Making a customized forest plot of two groups using R
我真的很想用 R 绘制这样的图。我已经尝试使用 metafor
包中的 forest()
命令,但似乎无法创建任何可比较的东西。我还有两组、多个分类变量和百分比 - 基本上,与此图中显示的数据类型完全相同。谁能给我一些关于如何使用 R 解决问题的建议?
您可以尝试使用 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()
凭直觉使用这些颜色让我建议使用完全使用这两种颜色的 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()
编辑
如果您需要删除网格线以显示与您发布的图表完全相同的内容,您可以执行以下操作:
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') ))
我真的很想用 R 绘制这样的图。我已经尝试使用 metafor
包中的 forest()
命令,但似乎无法创建任何可比较的东西。我还有两组、多个分类变量和百分比 - 基本上,与此图中显示的数据类型完全相同。谁能给我一些关于如何使用 R 解决问题的建议?
您可以尝试使用 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()
凭直觉使用这些颜色让我建议使用完全使用这两种颜色的 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()
编辑
如果您需要删除网格线以显示与您发布的图表完全相同的内容,您可以执行以下操作:
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') ))