R zestawiony wykres słupkowy z zagregowanymi danymi

Mam problemy z tworzeniem wykresu słupkowego z zagregowanymi danymi. Kiedy zajmuję się zbiorczymi tabelami z raportów innych ludzi, generalnie używam Excela, ale chciałbym zacząć robić wszystkie moje wykresy w R, prawdopodobnie z kratownicą lub ggplot. W programie Excel wykonanie złożonego wykresu słupkowego następujących danych zbiorczych zajmuje kilka kliknięć (Wstaw, Wykresy kolumnowe, Kolumna skumulowana), a otrzymasz coś takiego..

Oprócz tego, że chciałbym skorzystać z tego wykresu w R, chcę też użyć facetingu ggplot, tj. umieść dwa ułożone w stos wykresy obok siebie w ggplot, aby porównać dwie grupy (A i B). Grałem z innymi wykresami i wydaje się to najlepszym wyborem. To są dane. Wykres Excel pokazuje tylko grupę A (liczby są procentami).

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")))

Zanim przejdę do facetingu, aby pokazać różnicę w obu grupach, mam problemy z utworzeniem pojedynczego stosu wykresu słupkowego (takiego jak powyżej) z ggplot2. Zgaduję, że nie powinienem mieć 3 zmiennych (FullTime, PT, PT> 16 godzin), ale raczej pojedynczych wierszy dla każdego przypadku, więc zamiast mieć

A    NVQ Level 4 and above      47  20  12
A    NVQ Level3                 27  24  11

powinienem mieć

Group          Education    Work     Percentage
A   NVQ Level 4 and above   Full Time   47
A   NVQ Level 4 and above   PT>16 hours 20

Jeśli jest to jedyny sposób, aby ggplot wykonał wykres, w jaki sposób zmieniłbyś format z jednego na drugi za pomocą kilku linii kodu? Grałem też z opcją „tożsamość” ggplot, ale nie odniosłem dużego sukcesu.

Każda pomoc byłaby bardzo mile widziana.

Dzięki

questionAnswers(2)

yourAnswerToTheQuestion