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

如何基于含产品跨市场启动周的R DataFrame生成每周累计总量?

计算每周累计产品-市场启动总量

看起来你需要计算每周的累计启动总量——也就是到每一周为止,已经完成启动的产品-市场组合总数对吧?我来给你一步步拆解实现方法,用dplyr就能轻松搞定:

步骤1:准备示例数据

先把你提供的示例数据转成可复用的R DataFrame,方便后续测试:

library(dplyr)

df <- tibble::tibble(
  Prod_ID = c(11044913000, 11044913000, 11159402003, 11159402003, 11159402003,
              11159410010, 11159410010, 11159410010, 11159410010, 11159410010,
              11159410014, 11159410014),
  Market_Name = c("PHOENIX, AZ", "WEST TEX/NEW MEX", "PORTLAND,OR", "SEATTLE/TACOMA", "SPOKANE",
                  "PORTLAND,OR", "SALT LAKE CITY", "SEATTLE/TACOMA", "SPOKANE", "WEST TEX/NEW MEX",
                  "PORTLAND,OR", "SEATTLE/TACOMA"),
  START_WEEK = c(1397, 1206, 1188, 1188, 1195, 1186, 1190, 1186, 1187, 1197, 1198, 1239)
)

步骤2:计算每周新增启动数

首先统计每个周有多少个新的产品-市场组合启动:

weekly_new <- df %>%
  count(START_WEEK, name = "new_launches")

这里count会自动按START_WEEK分组,统计每组的行数(也就是该周的新增启动数)。

步骤3:生成完整周序列并计算累计总量

为了避免中间周数断档,我们先生成从最小启动周到最大启动周的完整周序列,再补全无新增的周,最后计算累计值:

# 生成完整周范围
all_weeks <- tibble(START_WEEK = seq(min(df$START_WEEK), max(df$START_WEEK), by = 1))

# 左连接补全数据,计算累计总量
weekly_cumulative <- all_weeks %>%
  left_join(weekly_new, by = "START_WEEK") %>%
  # 把无新增的周的new_launches设为0
  mutate(new_launches = replace_na(new_launches, 0)) %>%
  # 计算累计求和
  mutate(cumulative_total = cumsum(new_launches))

# 查看结果前几行
head(weekly_cumulative)

运行后你会得到一个包含START_WEEK(周数)、new_launches(当周新增启动数)、cumulative_total(到该周的累计启动总数)的DataFrame。

扩展:按产品/市场分组计算累计

如果需要按产品或市场单独计算累计启动量,可以用分组操作。比如按产品计算每周该产品已启动的市场数:

product_cumulative <- df %>%
  group_by(Prod_ID) %>%
  # 先获取每个产品的启动周范围
  mutate(product_min_week = min(START_WEEK), product_max_week = max(START_WEEK)) %>%
  ungroup() %>%
  # 生成每个产品的完整周序列
  tidyr::crossing(START_WEEK = seq(min(df$START_WEEK), max(df$START_WEEK), by = 1)) %>%
  group_by(Prod_ID, START_WEEK) %>%
  # 统计到当前周为止已启动的市场数
  summarise(cumulative_markets = sum(START_WEEK.y <= START_WEEK.x), .groups = "drop") %>%
  rename(START_WEEK = START_WEEK.x) %>%
  arrange(Prod_ID, START_WEEK)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:39:49