我在创建带有聚合数据的堆叠条形图时遇到了麻烦。在处理来自其他人报告的汇总表时,我通常使用 Excel,但我想开始在 R 中制作我的所有图表,可能使用 lattice 或 ggplot。在 Excel 中,对以下聚合数据进行堆叠条形图需要单击几下(插入、柱形图、堆叠列),然后您会得到类似的结果。.
除了想在 RI 中使用此图表外,还想使用 ggplot 的分面,即在 ggplot 中并排放置两个堆叠的条形图来比较两组(A 和 B)。我玩过其他图表,这似乎是最好的选择。这是数据。Excel 图表仅显示 A 组(数字为百分比)。
D<-as.data.frame(structure(list(Group = c("A", "A", "A", "A", "A",
"A", "B", "B", "B", "B", "B", "B"
), Education = c("NVQ Level 4 and above", "NVQ Level3", "NVQ Level 2",
"Below NVQ Level 2", "Other qualification", "No qualification",
"NVQ Level 4 and above", "NVQ Level3", "NVQ Level 2", "Below NVQ Level 2",
"Other qualification", "No qualification"), Full.Time = c(47,
27, 23, 17, 18, 9, 36, 26, 22, 22, 27, 12), PT.16.hours = c(20,
24, 22, 18, 18, 12, 22, 21, 21, 22, 14, 10), PT.16.hours.1 = c(12,
11, 10, 11, 13, 5, 24, 25, 25, 20, 16, 12)), .Names = c("Group",
"Education", "Full.Time", "PT>16.hours", "PT<16.hours")))
在开始分面以显示两组之间的差异之前,我实际上在使用 ggplot2 创建单个堆叠条形图(如上图)时遇到了麻烦。我猜我不应该有 3 个变量(FullTime,PT,PT>16 hours),而是每个案例的单行,所以不要有
A NVQ Level 4 and above 47 20 12
A NVQ Level3 27 24 11
我应该
Group Education Work Percentage
A NVQ Level 4 and above Full Time 47
A NVQ Level 4 and above PT>16 hours 20
如果这是让 ggplot 绘制图表的唯一方法,您将如何通过几行代码从一种格式更改为另一种格式?我经常发现这种类型的数据,因此最好有一个标准化的程序。我也玩过 ggplot 选项“身份”,但没有取得太大成功。
任何帮助将非常感激。
谢谢