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

如何在ggplot中实现按日统计酒店总入住人数的柱状图?

解决ggplot统计每日总入住人数的问题

你当前的geom_bar()默认会对total_guests的不同取值做计数统计,这和你要的“每日总入住人数”(按日期汇总total_guests的求和值)不符。可以通过两种方式实现需求:

方法1:先预处理数据再绘图

先用dplyr聚合每日总人数,再用geom_col()绘制柱状图(geom_col()直接使用y轴的数值,无需额外统计):

library(dplyr)
library(ggplot2)

# 计算每日总入住人数
daily_guest_total <- August_2015_mydg %>%
  group_by(arrival_date_day_of_month) %>%
  summarize(daily_total = sum(total_guests, na.rm = TRUE))

# 绘制柱状图
ggplot(daily_guest_total) +
  geom_col(aes(x = arrival_date_day_of_month, y = daily_total)) +
  labs(x = "入住日期(日)", y = "当日总入住人数")

方法2:直接在ggplot中使用统计函数

无需预处理数据,用stat_summary()指定求和函数,并使用柱状图作为几何对象:

library(ggplot2)

ggplot(August_2015_mydg) +
  stat_summary(
    aes(x = arrival_date_day_of_month, y = total_guests),
    fun = sum,  # 指定求和函数
    geom = "col"  # 使用柱状图展示结果
  ) +
  labs(x = "入住日期(日)", y = "当日总入住人数")

注:你原代码中的facet_wrap(~arrival_date_day_of_month)会把每个日期拆分成独立子图,这和“查看每日总入住人数”的需求不匹配,所以上述代码中移除了分面设置。如果需要其他展示形式,可以根据需求调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 13:20:20