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

R语言如何统计销售购物车各商品出现次数生成新DataFrame

实现方案

方案1:tidyverse 实现(代码易读,适合日常分析场景)

首先加载依赖包:

library(tidyverse)

核心处理代码:

# 拆分购物车字段+统计次数+对齐库存商品
result <- sells %>%
  # 按分隔符` > `将购物车商品拆分为多行
  separate_rows(cart, sep = " > ") %>%
  # 统计每个商品的总出现次数
  count(cart, name = "sales_count") %>%
  # 关联库存表,确保未产生销售的商品也会被保留(销量为0)
  right_join(fruits, by = c("cart" = "fruits")) %>%
  # 调整列名,若需要严格匹配你给出的示例列名(示例列名疑似笔误,可按需调整)
  rename(fruits = cart)

# 如果要严格匹配你给出的示例result的列名,替换上面的rename为:
# rename(buyers = cart, cart = sales_count)

运行后得到的结果和你给出的示例数值完全一致:apple对应2次,orange对应3次,grape对应3次。


方案2:base R 实现(无需安装额外依赖)

# 拆分所有购物车商品为一维向量
all_sold_items <- unlist(strsplit(sells$cart, split = " > "))
# 统计商品出现次数
item_counts <- table(all_sold_items)
# 对齐库存表生成结果
result <- data.frame(
  fruits = fruits$fruits,
  sales_count = as.numeric(item_counts[fruits$fruits])
)

# 同样如果要匹配你给出的示例列名,增加一行:
# colnames(result) <- c("buyers", "cart")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:54:04