首页 > 解决方案 > 如何将两个分类变量分开,在 r 中制作两个不同的图表?

问题描述

因此,假设我想制作两个直方图来比较睡眠时间是否与成为退伍军人有关。我有关于“退伍军人身份”的数据(包含“是”或“否”的值),我有关于睡眠时间的定量数据(以小时为单位)。我想制作一个直方图,其中包含退伍军人的睡眠时间和非退伍军人的睡眠时间。但我不知道如何将数据分为退伍军人和非退伍军人。谢谢。

标签: r

解决方案


这是一种方法,假设您的表格如下dat所示:

library(ggplot2)

# generate some fake data that sounds like what OP's table is 
dat <- data.frame(vet = sample(c("yes","no"), size=1e3, replace=TRUE), 
                  sleep = round(runif(1e3, min=1, max=5)) + sample(1:4, 1))

# make a histogram of `$sleep` grouped by `$vet` status: 
ggplot(dat, aes(x=sleep, fill=vet)) + 
  geom_histogram(position="dodge", bins=5)

输出将如下所示:分组直方图

或者,您可以生成并排的直方图(一个代表"yes"老兵,一个代表"no"),如下所示:

ggplot(dat, aes(x=sleep)) + 
  geom_histogram(position="dodge", bins=5) + 
  facet_wrap(~vet)

推荐阅读