Basically I have the following tables
Ost_Data which looks kind of like this
| Stadt | Langzeitarbeitslose |
|---|---|
| Hamburg | 33 |
| Koln | 21 |
and West_Data which looks like this
| Stadt | Langzeitarbeitslose |
|---|---|
| Berlin | 34 |
| Frankfurt | 55 |
now I want to plot them in a ggplot Boxplot where the x axis shows the 2 different data tables
Ost_Data
and
West_data
and where on the y-axis the
Langzeitarbeitslose
is shown.
Essentially I want to compare the
Langzeitarbeitslose
value from each table against eachother
I tried
ggplot(data = Ost_data, West_data)
geom_boxplot(aes(x = ??, y = Langzeitarbeitslose))
labs(x = "Ost und Westdeutschland", y = "Langzeitarbeitslosenquote")
But that doesnt work as I don't specify that I need both tables and because I only Want to show the 2 Table names being Ost_data and West_data on the X-Axis and not a value out of the data tables.
This is how it should look like in general, even though the values here are wrong. On the X-axis I only want the naes of Ost_data and West_data and on the Y-Axis the actual values of Langzeitarbeitslose:

CodePudding user response:
One option would be to add an identifier to your datasets and row bind them which could be achieved in one step using e.g. dplyr::bind_rows. The identifier column could then be mapped on x:
Ost_data <- data.frame(
Stadt = c("Hamburg", "Koln"),
Langzeitarbeitslose = c(33L, 21L)
)
West_data <- data.frame(
Stadt = c("Berlin", "Frankfurt"),
Langzeitarbeitslose = c(34L, 55L)
)
library(ggplot2)
dat <- dplyr::bind_rows(list(Ost = Ost_data, West = West_data), .id = "id")
ggplot(data = dat)
geom_boxplot(aes(x = id, y = Langzeitarbeitslose))
labs(x = "Ost und Westdeutschland", y = "Langzeitarbeitslosenquote")

