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

在R语言中按周内星期维度计算PV变量中位数的实现咨询

实现方案

你已经完成预处理得到PV数据框,直接按Week字段分组统计所有PV后缀变量的中位数即可,以下是可直接运行的代码:

dplyr实现(和你现有代码生态一致)

library(dplyr)

# 按星期几分组统计各PV变量中位数
week_pv_median <- PV %>%
  group_by(Week) %>%
  summarise(
    # 对所有_PV结尾的列计算中位数,na.rm=TRUE避免缺失值干扰
    across(ends_with("_PV"), median, na.rm = TRUE)
  )

# 查看结果
print(week_pv_median)

运行后结果如下:

WeekDR01_PVDR02_PVDR03_PVDR04_PVDR05_PV
Friday79897
Saturday-2.5-3.5-2.5-2.5-1.5
Thursday46.53-12

补充说明

  • 以周五的DR01_PV为例,3条记录对应值为7、4、10,排序后取中间值为7,和计算结果一致,符合你的需求
  • 如果数据包含多个用户Id,需要按用户+星期几分别统计,把group_by(Week)修改为group_by(Id, Week)即可
  • 如果需要转成长表格式更方便后续分析,可以搭配tidyr的pivot_longer:
    library(tidyr)
    week_pv_median_long <- week_pv_median %>%
      pivot_longer(cols = ends_with("_PV"), names_to = "PV变量名", values_to = "中位数")
    

基础R实现(无需加载第三方包)

pv_cols <- grep("_PV$", colnames(PV), value = TRUE)
week_pv_median <- aggregate(. ~ Week, data = PV[, c("Week", pv_cols)], FUN = median, na.rm = TRUE)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:30:02