1. 数据处理

library(dplyr)
library(ggplot2)
library(plotly)
library(DT)
data = read.csv("E:/R/Final Exam Data.csv", header = TRUE, nrows = 3015)
datatable(data)
data[, 10:12] = sapply(data[, 10:12], function(x) as.numeric(gsub(",", "", as.character(x))))
data = mutate(data, 每条记录的利润 = 金额 - 成本)
result = group_by(data, 销售月份, 产品名称) %>%
    summarise(各产品各月的盈利 = sum(每条记录的利润))
result$销售月份 = factor(result$销售月份, 
                         levels = c("1月", "2月", "3月", "4月", "5月", "6月",
                                    "7月", "8月", "9月", "10月", "11月", "12月"))
result = arrange(result, 销售月份)

2. 结果展示

2.1 各个产品各月盈利情况

p = ggplot(data = result, aes(x = as.factor(as.integer(销售月份)), y = 各产品各月的盈利, colour = 产品名称)) +
    geom_point() + 
    geom_line()
ggplotly(p)
result[, 1:2] = sapply(result[1:2], as.character)
datatable(result)

2.2 彩盒各月盈利情况

CH = filter(result, 产品名称 == "彩盒")
datatable(CH)

2.3 宠物用品各月盈利情况

CWYP = filter(result, 产品名称 == "宠物用品")
datatable(CWYP)

2.4 服装各月盈利情况

FZ = filter(result, 产品名称 == "服装")
datatable(FZ)

2.5 警告标各月盈利情况

JGB = filter(result, 产品名称 == "警告标")
datatable(JGB)

2.6 暖袖各月盈利情况

NX = filter(result, 产品名称 == "暖袖")
datatable(NX)

2.7 暖靴各月盈利情况

NX = filter(result, 产品名称 == "暖靴")
datatable(NX)

2.8 睡袋各月盈利情况

SD = filter(result, 产品名称 == "睡袋")
datatable(SD)

2.9 睡袋附件各月盈利情况

SDFJ = filter(result, 产品名称 == "睡袋附件")
datatable(SDFJ)

2.10 套筒各月盈利情况

TT = filter(result, 产品名称 == "套筒")
datatable(TT)

2.11 无纺衬各月盈利情况

WFC = filter(result, 产品名称 == "无纺衬")
datatable(WFC)

2.12 野营垫各月盈利情况

YYD = filter(result, 产品名称 == "野营垫")
datatable(YYD)

2.13 野营附件各月盈利情况

YYFJ = filter(result, 产品名称 == "野营附件")
datatable(YYFJ)

2.14 织标各月盈利情况

ZB = filter(result, 产品名称 == "织标")
datatable(ZB)