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

R语言绘制Tinder匹配二元结果双分类柱状图问题咨询

问题排查
  • 语法错误:geom_bar() 行末尾缺少连接符+,后续的坐标轴、填充色配置会被识别为独立代码行,直接触发运行报错。
  • 美学映射错误:aes()中直接写y = sum(match)会对全数据集的match列统一求和,无法按照place和signal分组计算各组的匹配总次数。
  • 参数配置错误:beside = TRUE不属于ggplot2的geom_bar()参数,并列柱状图需要通过position = "dodge"实现。
  • 填充色配置不匹配:scale_fill_discrete()中设置的breaks、标签和你映射的signal字段(取值K/N/P)完全不对应,如果你需要把place的L/S改为Land/Stadt,应该修改x轴的离散刻度配置,而非fill的配置。
修正实现方案

推荐先分组汇总数据再绘图,逻辑更清晰不易出错:

library(ggplot2)
library(dplyr)

# 按地点、信号分组统计匹配总次数
tinder_agg <- tinder %>%
  group_by(place, signal) %>%
  summarise(match_count = sum(match), .groups = "drop")

# 实现并列柱状图:x轴为地点,每个地点下分三个信号的柱子
ggplot(tinder_agg, aes(x = place, y = match_count, fill = signal)) +
  geom_col(position = "dodge", width = 0.7) +
  scale_x_discrete(name = "Ort", labels = c("L" = "Land", "S" = "Stadt")) +
  scale_fill_discrete(name = "信号类型") +
  ylab("Match总次数") +
  theme_minimal()

如果需要x轴直接展示「地点+信号」的组合维度,可修改x轴映射如下:

ggplot(tinder_agg, aes(x = paste0(place, "-", signal), y = match_count, fill = signal)) +
  geom_col(width = 0.7) +
  scale_x_discrete(name = "地点-信号组合") +
  scale_fill_discrete(name = "信号类型") +
  ylab("Match总次数") +
  theme_minimal()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:06:02