R составная диаграмма с агрегированными данными

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

Помимо желания использовать эту диаграмму в R, я также хочу использовать фасетку ggplot, то есть. Поместите два составных столбца рядом в ggplot, чтобы сравнить две группы (A и B). Я играл с другими графиками, и это кажется лучшим выбором. Это данные. Диаграмма Excel показывает только группу А (цифры в процентах).

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 & gt; 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». но не имели большого успеха.

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

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос