##)从天猫网站爬取的电视销售数据(tianmaoTV.xlsx,见data文件夹)包含商品名称、商品描述、现价、原价、月销量、库存、店铺ID、店铺名称、评分、收藏数、累计评价数、毛重、品牌、电视类型和屏幕尺寸共15个变量。2.1 将数据读进R并保存为tianmao1数据集;2.2 提取当前价格(current_price)小于1000的所有观测,保存到数据集cplow1000; 2.3 在数据集tianmao1中生成一个新列,将新列命名为stockclass:当库存stock等于0 时,stockclass的值为“无货”;当库存小于100,stockclass的值为“低库存”; 当库存大于等于100时,stockclass的值为“高库存”; 2.4 利用grep函数提取tianmao1的stock、stockclass两列,将其保存到stockc数据集中; 2.5 计算每个品牌的总销量(提示:利用group_by和summarise函数),把销量前十的 结果保存到brandmount数据框里,用1-2个图显示不同品牌的销量之间的差异,并 说明为什么选用此种类型的图; 2.6 按照不同品牌计算不同店铺的销量,并保存在bshoptop3数据框中; 2.7 分别绘制图体现收藏数和销量、销量和评分之间的关系; 2.8 筛选得出价格波动(原价和现价的差)最大的前十名商品,并保存在salestop10数 据集中; 2.9 生成原价和现价两列数据的箱线图,查看价格分布情况; 2.10 该表貌似整洁,但存在冗余,尝试将其修改为整洁数据集。
时间: 2024-04-18 18:28:51 浏览: 211
某招聘网爬取数据分析岗位数据.xlsx
以下是根据您提供的要求对数据进行处理和分析的示例代码:
```R
library(readxl)
library(dplyr)
library(ggplot2)
# 2.1 将数据读入R并保存为tianmao1数据集
tianmao1 <- read_excel("data/tianmaoTV.xlsx")
# 2.2 提取当前价格小于1000的所有观测,保存到数据集cplow1000
cplow1000 <- filter(tianmao1, current_price < 1000)
# 2.3 生成新列stockclass
tianmao1 <- mutate(tianmao1, stockclass = ifelse(stock == 0, "无货", ifelse(stock < 100, "低库存", "高库存")))
# 2.4 提取stock和stockclass两列保存到stockc数据集中
stockc <- select(tianmao1, stock, stockclass)
# 2.5 计算每个品牌的总销量并保存前十的结果到brandmount数据框
brandmount <- tianmao1 %>% group_by(品牌) %>% summarise(总销量 = sum(月销量)) %>% top_n(10)
# 绘制品牌销量差异的条形图
ggplot(brandmount, aes(x = reorder(品牌, -总销量), y = 总销量)) +
geom_bar(stat = "identity", fill = "steelblue") +
labs(x = "品牌", y = "总销量", title = "不同品牌的销量差异") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
# 2.6 按照不同品牌计算不同店铺的销量,并保存在bshoptop3数据框中
bshoptop3 <- tianmao1 %>% group_by(品牌, 店铺名称) %>% summarise(总销量 = sum(月销量)) %>% top_n(3)
# 2.7 绘制收藏数和销量、销量和评分之间的关系图
ggplot(tianmao1, aes(x = 收藏数, y = 月销量)) +
geom_point() +
labs(x = "收藏数", y = "月销量", title = "收藏数和销量之间的关系")
ggplot(tianmao1, aes(x = 评分, y = 月销量)) +
geom_point() +
labs(x = "评分", y = "月销量", title = "评分和销量之间的关系")
# 2.8 筛选价格波动最大的前十名商品,并保存在salestop10数据集中
salestop10 <- tianmao1 %>% mutate(价格波动 = 原价 - 现价) %>% top_n(10, 价格波动)
# 2.9 绘制原价和现价的箱线图
ggplot(tianmao1, aes(x = "", y = 原价)) +
geom_boxplot() +
labs(x = "", y = "原价", title = "原价的分布情况")
ggplot(tianmao1, aes(x = "", y = 现价)) +
geom_boxplot() +
labs(x = "", y = "现价", title = "现价的分布情况")
# 2.10 修改数据为整洁数据集
tianmao2 <- tianmao1 %>% select(-c(商品描述, 店铺ID, 累计评价数, 毛重, 电视类型, 屏幕尺寸))
```
请注意,上述代码中使用了`read_excel`函数来读取Excel文件,您可能需要安装并加载`readxl`包。另外,代码中的图表是使用`ggplot2`包绘制的,您需要安装并加载该包来运行图表部分的代码。
阅读全文