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

基于DT数据集生成独立分组数据集与图表并导出的分步实现方案

没问题,我来帮你一步步完成这两个任务,咱们分开操作,完全用逐个基础步骤实现,不搞批量处理:

任务1:生成独立分组数据集并导出为Excel/CSV文件

首先得加载需要的R包,确保数据处理和导出能正常运行:

library(data.table)
library(dplyr)
library(writexl) # 用于导出Excel,CSV导出用base R或readr都可以

接下来逐个处理每个门店的数据集:

  • 处理store_A
# 筛选出store_A的所有数据
store_A <- DT %>% filter(Store == "store_A")
# 导出为CSV文件(去掉行名更整洁)
write.csv(store_A, "store_A_sales.csv", row.names = FALSE)
# 导出为Excel文件
write_xlsx(store_A, "store_A_sales.xlsx")
  • 处理store_B
store_B <- DT %>% filter(Store == "store_B")
write.csv(store_B, "store_B_sales.csv", row.names = FALSE)
write_xlsx(store_B, "store_B_sales.xlsx")
  • 处理store_C
store_C <- DT %>% filter(Store == "store_C")
write.csv(store_C, "store_C_sales.csv", row.names = FALSE)
write_xlsx(store_C, "store_C_sales.xlsx")
  • 处理store_D
store_D <- DT %>% filter(Store == "store_D")
write.csv(store_D, "store_D_sales.csv", row.names = FALSE)
write_xlsx(store_D, "store_D_sales.xlsx")
  • 处理store_E
store_E <- DT %>% filter(Store == "store_E")
write.csv(store_E, "store_E_sales.csv", row.names = FALSE)
write_xlsx(store_E, "store_E_sales.xlsx")

提示: 如果不想用dplyr,也可以用data.table原生语法,比如store_A <- DT[Store == "store_A"],效果是一样的。


任务2:生成独立图表并导出为PNG文件

这次我们用ggplot2来绘制图表,先加载包:

library(ggplot2)

同样逐个门店生成并导出图表(这里用柱状图展示每个门店的销售数据,你也可以根据需要换成折线图等):

  • store_A的销售金额图表
# 绘制柱状图,用记录序号区分每条数据
plot_A <- ggplot(store_A, aes(x = factor(1:nrow(store_A)), y = Amount)) +
  geom_bar(stat = "identity", fill = "#1E90FF") +
  labs(title = "store_A 销售金额明细", x = "记录序号", y = "销售金额") +
  theme_minimal()
# 导出为PNG文件,设置合适的尺寸和分辨率
ggsave("store_A_sales_plot.png", plot_A, width = 6, height = 4, dpi = 300)
  • store_B的销售金额图表
plot_B <- ggplot(store_B, aes(x = factor(1:nrow(store_B)), y = Amount)) +
  geom_bar(stat = "identity", fill = "#FF6347") +
  labs(title = "store_B 销售金额明细", x = "记录序号", y = "销售金额") +
  theme_minimal()
ggsave("store_B_sales_plot.png", plot_B, width = 6, height = 4, dpi = 300)
  • store_C的销售金额图表
plot_C <- ggplot(store_C, aes(x = factor(1:nrow(store_C)), y = Amount)) +
  geom_bar(stat = "identity", fill = "#FFD700") +
  labs(title = "store_C 销售金额明细", x = "记录序号", y = "销售金额") +
  theme_minimal()
ggsave("store_C_sales_plot.png", plot_C, width = 6, height = 4, dpi = 300)
  • store_D的销售金额图表
plot_D <- ggplot(store_D, aes(x = factor(1:nrow(store_D)), y = Amount)) +
  geom_bar(stat = "identity", fill = "#9370DB") +
  labs(title = "store_D 销售金额明细", x = "记录序号", y = "销售金额") +
  theme_minimal()
ggsave("store_D_sales_plot.png", plot_D, width = 6, height = 4, dpi = 300)
  • store_E的销售金额图表
plot_E <- ggplot(store_E, aes(x = factor(1:nrow(store_E)), y = Amount)) +
  geom_bar(stat = "identity", fill = "#3CB371") +
  labs(title = "store_E 销售金额明细", x = "记录序号", y = "销售金额") +
  theme_minimal()
ggsave("store_E_sales_plot.png", plot_E, width = 6, height = 4, dpi = 300)

提示: 如果你想展示每个门店的总金额,只需要先汇总数据再绘图,比如store_A_total <- store_A %>% summarise(Total_Amount = sum(Amount)),然后用这个汇总数据绘图即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:01:11