R语言 使用ggplot创建箱线图,显示两个数据框的可视化效果

t9aqgxwy  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(166)

基本上我有以下表格
Ost_Data,看起来像这样
| 施塔特|长时间工作|
| - -|- -|
| 汉堡|三十三人|
| 科隆|二十一个|
和West_Data,看起来像这样
| 施塔特|长时间工作|
| - -|- -|
| 柏林|三十四|
| 法兰克福|五十五|
现在,我想在ggplot箱线图中绘制它们,其中x轴显示2个不同的数据表

Ost_Data

West_data

并且其中在y轴上

Langzeitarbeitslose

显示的是。
本质上我想比较

Langzeitarbeitslose

每个表中的值相互比较
我试过了

ggplot(data = Ost_data, West_data) + 
  geom_boxplot(aes(x = ??, y = Langzeitarbeitslose)) + 
  labs(x = "Ost und Westdeutschland", y = "Langzeitarbeitslosenquote")

但这不起作用,因为我没有指定我需要两个表,因为我只想在X轴上显示2个表名Ost_data和West_data,而不是数据表中的值。
这就是它的一般外观,尽管这里的值是错误的。在X轴上,我只需要Ost_data和West_data的值,而在Y轴上,我只需要Langzeitarbeitslose的实际值:

z2acfund

z2acfund1#

一种选择是向数据集添加标识符并对它们进行行绑定,这可以使用dplyr::bind_rows等一步完成。然后,标识符列可以Map到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")

相关问题