Tworzenie pogrupowanego wykresu słupkowego w R

Mam ramkę danych df w R, która wygląda tak:

        D     C     B     E     K     R
Rd      80    80    80    80    80    80
Sw      100   100   100   100   100   100
Sf      100   100   100   100   100   100

Próbuję narysować dane na wykresie słupkowym. Potrzebuję osi y, aby miała zakres 0-100, a oś x to nazwy kategorii. Zasadniczo potrzebuję tego, aby wyglądało tak:

100 |               _ _ _ _ _ _    _ _ _ _ _ _
    |_ _ _ _ _ _   | | | | | | |  | | | | | | |
    | | | | | | |  | | | | | | |  | | | | | | |
    | | | | | | |  | | | | | | |  | | | | | | |
    | | | | | | |  | | | | | | |  | | | | | | |
 0  |_|_|_|_|_|_|__|_|_|_|_|_|_|__|_|_|_|_|_|_|_
     D C B E K R    D C B E K R    D C B E K R
         Rd             Sw            Sf

Z wszystkimi Ds tego samego koloru, wszystkie Cs tego samego koloru i tak dalej.

Nie wiem, jak to zrobić, ani jakich bibliotek używać.

Do tej pory mam:

counts <- as.matrix(df$D, df$C, df$B, df$E, df$K, df$R)

barplot(counts, beside = TRUE, space = c(0, 0, 0, 0, 0, 0), xlab = "",
col = c("coral", "coral1", "coral2", "coral3", "coral4", "cornflowerblue"),
    names.arg = c("D", "C", "B", "E", "K", "R"))
mtext(side = 1, text = "x label", line = 7)

Ale wyświetla tylko coś takiego:

100 |  _ _   _ _
    |_| | |_| | |
    | | | | | | |
    | | | | | | |
    | | | | | | |
 0  |_|_|_|_|_|_|_
     D C B E K R
       x label

Nie jestem pewien, dlaczego to tylko dostaję.

Każda pomoc byłaby bardzo mile widziana.

questionAnswers(3)

yourAnswerToTheQuestion