The current data frame I'm working with is structured such that likert scale response titles form the column names, and row names are the demographics associated with the question asked. The likert responses by demographic are aggregated. I'm looking to visualize this data (with numerous graphs, each displaying the likert data for a demographic).

Example data:

```
Demographic     Strongly_Disagree   Disagree   Neutral   Agree   Strongly_Agree
Male                    255             327       455     222         456
Female                  331             387       225     548         346     
Age 18-25               111             189       547     865         456
Age 25-39               564             324       443     786         904
Age 40-55               407             372       436     784         432

```

This isn't real data (since that's somewhat private), but this is the format, where the number of responses across each demographic group are aggregated for each question.

What I would like to do is visualize this data in ggplot, where I construct 5 separate bar charts (male, female, and 3 age groups), each chart containing 5 bars, which correspond to the likert scale responses. The bar heights will correspond to the aggregated number of responses.

For example, I would like the first chart to show that for males, 255 respondents answered "strongly disagree," 327 answered "disagree", 455 answered "neutral", 22 answered "agree", and 456 responded with "strongly agree."

Is there a good way to do this without restructuring the data significantly?

Pseudocode:

```
ggplot(data = df, aes(x = df(, 2:5), y = df[2:5,])) +
geom_bar(...)

```

Any advice or pointers in the right direction would be greatly appreciated. Thanks!