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

使用R tidyverse与ggplot开展分组描述性统计相关问题求助

问题解答

一、分组统计报错原因与修复方案

报错原因

  • dplyr管道操作中错误使用df$引用列:管道传入的是分组后的子集数据,df$Collected会直接调用原全量数据集的列,导致所有分组的求和结果都是全量Collected的总和,最终df_tidy只有1行有效数据
  • na.rm参数位置错误:你把它放在了summarise()的参数位,正确应该放在sum()函数内部,用来忽略求和时的NA值
  • ggplot映射长度不匹配:你在ggplot的aes中写x = df$Gender,调用的是原数据十几万行的Gender列,但df_tidy只有2行(男女两个分组),长度不一致直接触发美学映射报错

修复代码

library(tidyverse)
# 统计不同性别Collected总和
df_tidy <- df %>%
  drop_na(Gender) %>% # 先去掉性别为NA的观测
  group_by(Gender) %>%
  summarise(sum_collected = sum(Collected, na.rm = TRUE))
# 输出你需要的统计结果表
print(df_tidy)
# 绘制柱状图
ggplot(df_tidy, aes(x = Gender, y = sum_collected)) + 
  geom_col()

二、Freq与Provided相关性绘图优化

异常原因

你添加的geom_line()默认会按数据行的顺序把所有散点连起来,导致图面杂乱,无法看出两个变量的趋势关系。

优化代码

如果要探究两个变量的相关性,保留散点+趋势拟合线即可:

df %>%
  drop_na(Freq, Provided) %>% # 去掉两个变量为NA的观测
  ggplot(aes(x = Freq, y = Provided)) + 
  geom_point(alpha = 0.3) + # alpha调整透明度避免点重叠看不清
  geom_smooth(method = "lm", se = TRUE) # 添加线性拟合线和95%置信区间

三、验证Freq>10时Provided的出现频率更高的实现方案

首先将Freq按是否大于10分组,再做描述统计和显著性检验即可:

df_freq <- df %>%
  drop_na(Freq) %>%
  mutate(freq_group = ifelse(Freq > 10, "Freq>10", "Freq≤10"))

# 1. 描述统计:查看两组Provided的非NA占比、均值、中位数等指标
df_freq_stat <- df_freq %>%
  group_by(freq_group) %>%
  summarise(
    sample_num = n(),
    provided_non_na_rate = mean(!is.na(Provided)),
    provided_mean = mean(Provided, na.rm = TRUE),
    provided_median = median(Provided, na.rm = TRUE)
  )
print(df_freq_stat)

# 2. 显著性检验:如果是比较两组Provided的均值差异,用t检验
t_test_res <- t.test(Provided ~ freq_group, data = df_freq)
print(t_test_res)

# 3. 如果是比较Provided大于某阈值的比例差异,用卡方检验
# 示例:比较两组Provided>20的比例差异
df_freq <- df_freq %>% 
  filter(!is.na(Provided)) %>%
  mutate(provided_high = ifelse(Provided > 20, "高值", "低值"))
chisq_test_res <- chisq.test(table(df_freq$freq_group, df_freq$provided_high))
print(chisq_test_res)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:06:06