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

在R中计算视频截至各分钟的累计唯一用户数

问题描述

我有视频相关数据,想要在R中生成一张汇总表,统计每个视频截至对应分钟的累计唯一用户数量。尝试按Video和Minute分组后,只能得到该分钟的唯一用户数,而非累计值。

原始数据表

UserVideoMinute
aV11
bV11
bV11
cV11
dV12
cV12
eV12
aV21
bV22
cV22

目标数据表

VideoMinuteUnique Users
V113
V125
V211
V223
解决方案

可以用dplyr包实现累计唯一用户数的统计,步骤如下:

  1. 安装并加载dplyr包(未安装则执行安装命令):
install.packages("dplyr")
library(dplyr)
  1. 处理数据并生成汇总表:
# 假设原始数据框名为df
result <- df %>%
  # 去重:保留每个用户在对应视频中的首次记录
  distinct(User, Video, .keep_all = TRUE) %>%
  # 按视频分组,按分钟升序排序
  group_by(Video) %>%
  arrange(Minute, .by_group = TRUE) %>%
  # 累计计算截至当前分钟的唯一用户数
  mutate(Unique_Users = cumsum(!duplicated(User))) %>%
  # 按视频+分钟分组,提取对应分钟的累计最大值
  group_by(Video, Minute) %>%
  summarise(Unique_Users = max(Unique_Users), .groups = "drop")
  1. 查看结果:
print(result)

逻辑说明

  • distinct(User, Video, .keep_all = TRUE):剔除同一用户在同一视频中的重复记录,仅保留首次出现的条目。
  • group_by(Video) %>% arrange(Minute):确保按视频分组后,分钟按时间顺序排列,保证累计统计的正确性。
  • cumsum(!duplicated(User)):通过判断用户是否首次出现,将逻辑值转换为数值后累加,得到累计唯一用户数。
  • 最后按视频和分钟分组取最大值,确保每个分钟对应的是截至该分钟的累计用户总数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 15:02:05