利用R语言实现以下功能: 从天猫网站爬取的电视销售数据(tianmaoTV.xlsx)包含商品名称、商品描述、现价、原价、月销量、库存、店铺ID、店铺名称、评分、收藏数、累计评价数、毛重、品牌、电视类型和屏幕尺寸共15个变量。 (1)将数据读进R并保存为tianmao1数据集; (2)提取当前价格(current_price)小于1000的所有观测,保存到数据集cplow1000; (3)在数据集tianmao1中生成一个新列,将新列命名为stockclass:当库存stock等于0 时,stockclass的值为“无货”;当库存小于100,stockclass的值为“低库存”; 当库存大于等于100时,stockclass的值为“高库存”; (4)利用grep函数提取tianmao1的stock、stockclass两列,将其保存到stockc数据集中; (5)计算每个品牌的总销量(提示:利用group_by和summarise函数),把销量前十的结果保存到brandmount数据框里,用1-2个图显示不同品牌的销量之间的差异,并说明为什么选用此种类型的图;
时间: 2024-04-10 22:28:10 浏览: 93
基于R语言爬取电商数据的价格销售分析.pdf
5星 · 资源好评率100%
以下是利用R语言实现以上功能的代码:
```R
# 导入所需包
library(readxl)
library(dplyr)
library(ggplot2)
# (1) 读取数据
tianmao1 <- read_excel("tianmaoTV.xlsx")
# (2) 提取当前价格小于1000的所有观测
cplow1000 <- filter(tianmao1, current_price < 1000)
# (3) 生成stockclass变量
tianmao1 <- mutate(tianmao1, stockclass = case_when(
stock == 0 ~ "无货",
stock < 100 ~ "低库存",
stock >= 100 ~ "高库存"
))
# (4) 提取stock和stockclass列保存到stockc数据集中
stockc <- tianmao1[, c("stock", "stockclass")]
# (5) 计算每个品牌的总销量并保存前十结果到brandmount数据框
brandmount <- tianmao1 %>%
group_by(品牌) %>%
summarise(总销量 = sum(月销量)) %>%
arrange(desc(总销量)) %>%
head(10)
# 绘制销量差异图
ggplot(brandmount, aes(x = reorder(品牌, -总销量), y = 总销量)) +
geom_bar(stat = "identity") +
xlab("品牌") +
ylab("总销量") +
ggtitle("不同品牌的销量差异图") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
```
我们选用了柱状图来展示不同品牌的销量差异,因为柱状图可以直观地比较不同品牌的销量大小,并且易于理解和比较。柱状图适用于展示离散变量(品牌)与连续变量(销量)之间的关系。通过对柱状图进行排序,可以清楚地看到销量前十的品牌,方便进行比较和分析。
阅读全文