R-столбчатая диаграмма с агрегированными данными

У меня возникают проблемы с созданием столбчатой ​​диаграммы с совокупными данными. При работе со сводными таблицами из отчетов других людей я обычно использую Excel, но я хотел бы начать делать все свои диаграммы в R, возможно, с помощью решетки или ggplot. В Excel создание гистограммы с накоплением следующих совокупных данных занимает пару щелчков мыши (Вставить, Столбчатые диаграммы, Столбец с накоплением ), и вы получите что-то вроде этого. enter image description here.

Помимо желания использовать эту диаграмму в R, я также хочу использовать грань 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 часов ), а скорее отдельные строки для каждого случая,поэтому вместо

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 «identity», но не добился большого успеха.

Любая помощь приветствуется.

Спасибо

7
задан Marco M 28 July 2012 в 19:21
поделиться