You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用ggplot绘制对比两数据框Langzeitarbeitslose的箱线图

解决方案

要实现你想要的箱线图对比,核心是先把两个数据框合并,并给每个数据框添加一个标识列用来区分分组(对应X轴的"Ost_Data"和"West_Data")。以下是两种可行的实现方式:

方法1:使用dplyr(推荐,代码更简洁)

# 加载依赖包
library(ggplot2)
library(dplyr)

# 为每个数据框添加分组标识列
Ost_Data <- Ost_Data %>% mutate(Group = "Ost_Data")
West_Data <- West_Data %>% mutate(Group = "West_Data")

# 合并两个数据框
combined_data <- bind_rows(Ost_Data, West_Data)

# 绘制箱线图
ggplot(combined_data, aes(x = Group, y = Langzeitarbeitslose)) +
  geom_boxplot(fill = "#4292c6", alpha = 0.6) +  # 自定义填充色和透明度
  labs(
    title = "东、西德长期失业数据对比",
    x = "数据源",
    y = "长期失业人数"
  ) +
  theme_bw()

方法2:使用基础R(无需额外加载dplyr)

# 仅需加载ggplot2
library(ggplot2)

# 添加分组列
Ost_Data$Group <- "Ost_Data"
West_Data$Group <- "West_Data"

# 合并数据框
combined_data <- rbind(Ost_Data, West_Data)

# 绘制箱线图
ggplot(combined_data, aes(x = Group, y = Langzeitarbeitslose)) +
  geom_boxplot() +
  labs(
    x = "数据源",
    y = "长期失业人数"
  )

原代码失效原因

ggplot要求数据必须是单一数据框格式,并且需要明确的分组变量来映射X轴。你之前的代码没有把两个数据框整合,也没有给每个观测值标记所属的数据源,导致ggplot无法识别X轴的分组信息,自然无法生成对比箱线图。

内容的提问来源于stack exchange,提问作者GeoNerd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 03:45:33