网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
使用glimpse函数查看所有数据列:
可以看到,12个变量,共有537577条数据。这12个变量分别为:
-
User_ID:购物者的编码
-
Product_ID:产品编码
-
Gender:购物者的性别
-
Age:购物者的年龄
-
Occupation:职业
-
City_Category:购物者的居住地点
-
Stay_In_Current_City_Years:在当前城市停留的年数
-
Marital_Status:购物者的婚姻状况
-
Product_Category_1:购买的产品类别
-
Product_Category_2:产品可能属于其他类别
-
Product_Category_3:产品可能属于其他类别
-
Purchase:购买的金额
使用summary函数获取最小值、最大值、四分位数和均值等描述性统计量,结果运行情况如下:
购买次数最多产品分析
代码:
bf<-bf %>% select(-User_ID)
purpro_20<-bf %>% group_by(Product_ID) %>% count() %>% arrange(desc(n))
purpro_20[1:20,] %>% ggplot(aes(x=Product_ID,y=n,fill=Product_ID))+geom_point(color=‘red’)+theme(axis.text.x = element_text(angle=45,vjust=0.5),legend.position = “none”)
结果:
从上图我们可以得知,编码为P00265242的产品被购买的次数最多,其次,编码为P00025442,P00110742,P00112142的产品被购买的次数也较多,次数均在1500次以上,从编码来看并没有什么很显眼的数据特点。
消费最多的价格区间
代码:
bf %>% ggplot(aes(x=Purchase))+geom_histogram(fill=“red”)
结果:
从图上可知,消费最多的价格区间再8500左右,约有60000以上的消费次数。不存在购买频率十分显著的编码号,所以还需要进一步的挖掘。
产品类别信息统计
- 对不同性别绘制箱线图:
代码:
p1<-bf %>% ggplot(aes(x=Gender,y=Purchase))+geom_boxplot()
p1
结果:
对不同城市绘制箱线图:
代码:
p2<-bf %>% ggplot(aes(x=City_Category,y=Purchase))+geom_boxplot()
p2
结果:
- 对消费者的婚姻状况绘制箱线图,我们分为男女两个方面:
代码:
p3<-bf %>% ggplot(aes(x=as.factor(Marital_Status),y=Purchase,fill=Gender))+geom_boxplot()
p3
结果:
从上面的3个箱形图中我们可以看出,男人在购物上花的钱比女人多。无论是是否结婚还是来自于不同城市,而且Age,Stay_In_Current_City_Years这两个变量本来应该保存成数字变量但是原始数据是使用字符型变量,所以需要我们进行进一步的处理。
统计年龄和所在城市的居住年份总数
我们使用年龄范围的平均值来代表每个阶段,可以看到各个年龄段出现的次数。然后我们根据Stay_In_Current_City_Years来统计消费者在当前城市停留最多的年数。
代码:
根据结果,我们可以发现:中年人(35-55岁)的比例最多;年轻人支付较少;就城市停留年数的统计数据看,停留一年的占大多数。
产品类别信息统计
首先我们通过用 table() 函数统计因子各水平的出现次数。可以看到:
共有18种产品,每种产品出现的次数各不相同。
针对不同的产品,我们通过对购买产品的数量、性别对产品的影响、价格对产品的影响三方面对数据进行分析,结果如下:
- 消费者最喜欢的产品类别:
代码:
p1<-bf %>% group_by(Product_Category_1) %>% count() %>% ggplot(aes(x=reorder(Product_Category_1,n),y=n))+geom_col(aes(factor(Product_Category_1)))+labs(x=“”,y=“”,title=“消费者最喜欢的产品类别”)
p1
结果:
- 不同性别各产品类别的喜爱程度
代码:
p2<-bf %>% group_by(Gender,Product_Category_1) %>% count() %>% ggplot(aes(x=as.factor(Product_Category_1),y=n,fill=as.factor(Gender)))+geom_bar(stat=“identity”,position=“dodge”)+labs(x=“”,y=“”,fill=“gender”,title=“不同性别各产品类别的喜爱程度”)
p2
结果:
- 各类别平均消费价格
代码:
p3<-bf %>% ggplot(aes(x=reorder(as.factor(Product_Category_1),Purchase),y=Purchase))+geom_point()+ggtitle(“各类别平均消费价格”)
p3
结果:
通过图像我们可以看到,消费者最喜欢的产品前三分别是5、1、8,男性消费者明显比女性多。
性别统计
由于每行代表一个单独的事务,我们必须首先按User_ID对数据进行分组以删除重复项。我们选择用户编号和性别两项,按照用户编号进行分组,运用distinct()去除重复项。
代码:
bf2 <- read.csv(“E:/data.csv”)
bf2_gender <- bf2 %>%
select(User_ID, Gender) %>%
group_by(User_ID) %>%
distinct()
head(bf2_gender)
summary(bf2_gender$Gender)
options(scipen=10000) # To remove scientific numbering
gender_ch <- ggplot(data = bf2_gender) +
geom_bar(mapping = aes(x = Gender, y = …count…)) +
labs(title = ‘性别分布’)
gender_ch
结果:
可以看到,在本次数据中,男性购买人数比女性购买人数多。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
性购买人数比女性购买人数多。
[外链图片转存中…(img-LDOSp5pM-1715446936818)]
[外链图片转存中…(img-73eJwf52-1715446936818)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!