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

在RStudio中计算产品及品牌总营收等数据分析需求求助

RStudio数据处理完整解决方案

1. 计算每个产品(upc)及品牌的总营收

你原来的代码仅按upc分组,未关联品牌信息,要同时按upc和brand分组,才能得到每个产品对应品牌的总营收,修正后的代码如下:

library(dplyr) # 先加载dplyr包,未安装的话执行install.packages("dplyr")

# 按产品编码和品牌分组计算总营收,na.rm=TRUE用于忽略缺失值避免报错
product_brand_revenue <- mydata %>% 
  group_by(upc, brand) %>% 
  summarize(total_revenue = sum(Sales * Price, na.rm = TRUE))

执行后会生成一个新数据框,包含每个upc、对应brand及该产品的总营收。

2. 汇总所有产品和品牌的营收数据

分两种场景汇总:

  • 全局所有产品的总营收:
total_overall_revenue <- mydata %>% 
  summarize(total = sum(Sales * Price, na.rm = TRUE))
  • 按品牌维度汇总各品牌总营收:
brand_total_revenue <- product_brand_revenue %>% 
  group_by(brand) %>% 
  summarize(brand_revenue = sum(total_revenue, na.rm = TRUE))

3. 筛选总营收最高的产品及品牌

从第一步生成的product_brand_revenue数据框中筛选:

top_product <- product_brand_revenue %>% 
  slice_max(n = 1, order_by = total_revenue) # n=1表示取营收最高的1个,需取前N个可修改数字

执行后top_product将包含营收最高产品的upc、brand及对应总营收。

4. 创建带拟合线的散点图

使用ggplot2包实现,先完成安装加载:

install.packages("ggplot2") # 未安装时执行此代码
library(ggplot2)

# 绘制散点图,并叠加直线与二次曲线拟合
ggplot(mydata, aes(x = Sales, y = Price)) +
  geom_point(alpha = 0.5) # alpha调整点的透明度,避免点重叠遮挡
  geom_smooth(method = "lm", formula = y ~ x, color = "red", se = FALSE) # 红色直线拟合,se=FALSE关闭置信区间
  geom_smooth(method = "lm", formula = y ~ poly(x, 2), color = "blue", se = FALSE) # 蓝色二次曲线拟合
  labs(x = "销量", y = "价格", title = "价格 vs 销量散点图(含拟合线)") # 设置坐标轴标签与图标题

若需要显示拟合线的置信区间,将se = FALSE改为se = TRUE即可。

内容的提问来源于stack exchange,提问作者René González

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 09:15:22