【发布时间】:2020-05-24 19:43:22
【问题描述】:
我是R 和ggplot2 的新手,我正在努力思考如何创建多个相邻的条形图。
我有一个包含 5 个不同变量的数据集:
- 变量1:“年龄”,数字
- 变量2:“性别”,分类,级别:男性,女性,潜水员
- 变量 3:“抑郁症”,分类,级别:无、疑似、轻度、中度、重度
- 变量 4:“FearSymptoms”,分类,级别:无、怀疑、轻度、中度、重度
- 变量 5:“SomaticSymptoms”,分类,级别:无、疑似、轻度、中度、重度
所有变量都在一个数据框中,我已将 3 个症状变量设置为因子变量。
我能够为按性别编码的单个症状变量创建条形图,例如:
ggplot(myData, aes(x = DepriSymptoms, fill = Gender)) +
geom_bar() +
theme_bw() +
labs(y = "Participant Count",
x = "Symptoms",
title = "Depression Symptom Severity by Gender")
DepriSymptoms 的示例条形图:
是否可以在 ggplot2 中使用 facet 或 group 来创建 3 个单独的条形图,就像我制作的那样(一个用于抑郁症,一个用于一个用于 FearSymptoms,一个用于 SomaticSymptoms)?
在我看来,我缺少一个可供分组依据的变量。
【问题讨论】:
-
这是可能的——您需要使用类似
tidyr::pivot_longer的方式将数据转换为长格式。如果您发布一些数据,我们可以向您展示如何操作 -
查看minimal reproducible example 以获得有关创建可重现问题的一些指导。最简单的做法是使用
dput(myData)将您的数据粘贴到问题中,或者如果您的数据很大,则使用您的数据样本。 -
@Greg 你(和@shirewoman2)是对的,这正是我所需要的。 :) shirewoman2 创建的数据框几乎就是我的数据框,所以我不再在这里发布。