R的阶段性复习小结–回归
1. 数据说明
- User_ID:用户ID Gender:
- 性别,M为男性,F为女性
- Age:年龄段,划分为0-17、18-25、26-35、36-45、46-55、55+共六个年龄段
- Occupation:职业,已转换为数字标签,共有21类职业
- Stay_In_Current_City_Years:所在城市居住年份,分为0、1、2、3、4+五个类别
- Marital_Status:婚姻状况,0为未婚,1为已婚
- 件数:本次消费所购买的商品数目
- 消费总额:该用户本次消费所支出的总金额,单位为美元
首先读入数据,file.choose()可以跳出窗口选择文件,输出文件所在位置,超级好用!!!
#install.packages(“Rserve”)
library(“Rserve”)
Rserve()
Starting Rserve…
“C:\Users\LENOVO\DOCUME1\R\WIN-LI1\3.3\Rserve\libs\x64\Rserve.exe”
#R与tableau连接
file.choose()
[1] “F:\新建文件夹 (6)\黑色星期五\book233用户信息.csv”
#读取文件位置
user=read.csv(“F:\新建文件夹 (6)\黑色星期五\book233用户信息.csv”)`
#查看数据结构
str(user)
‘data.frame’: 1047 obs. of 8 variables:
$ User_ID : int 1000001 1000003 1000005 1000006 1000015 1000019 1000020 1000022 1000024 1000033 …
$ Gender : Factor w/ 3 levels “”,“F”,“M”: 2 3 3 2 3 3 3 3 2 3 …
$ Age : Factor w/ 8 levels “”,“0-17”,“18-25”,…: 2 4 4 7 4 2 4 3 4 6 …
$ Occupation : int 10 15 20 9 7 10 14 15 7 3 …
$ Stay_In_Current_City_Years: Factor w/ 6 levels “”,“0”,“1”,“2”,…: 4 5 3 3 3 5 2 6 5 3 …
$ Marital_Status : int 0 0 1 0 0 0 0 0 1 1 …
$ 件数 : int 34 29 106 46 116 144 12 155 76 215 …
$ 消费总额 : int 333481 341635 821001 379450 1047124 1457938 185747 1279678 720850 1940043 …
2. 数据预处理
(1) 删除第一列的用户ID,在利用用户个人信息对用户消费总额进行拟合的过程中,用户ID显然是不能作为自变量的。(唯一属性并不能描述事件本身的分布规律)
(2)删除用户购买商品的数量,由于缺少用户购买商品的具体信息(购买了哪一类商品,不同类别购买商品的数量等),所以将其作为自变量难以描述分布规律。
(3)缺失值处理,经过检测缺失值数量很少,直接删除比较有效。
> #install.packages("mice")
> library("mice")
> md.pattern(user) #缺失值检测
Gender Age Stay_In_Current_City_Years 件数 消费总额 User_ID Occupation Marital_Status
1045 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 0 0 0 3
1 1 1 1 0 0 0 0 0 5
0 0 0 1 1 2 2 2 8
> users=na.omit(user)#缺失值删除
> md.pattern(users)
User_ID Gender Age Occupation Stay_In_Current_City_Years Marital_Status 件数 消费总额
[1,] 1 1 1 1 1 1 1 1 0
[2,] 0 0 0 0 0 0 0 0 0
> #可以看到已经没有缺失值啦
> users_1=users[,-7]
> users_12=users_1[,-1]
> #删除1、7 列
> str(users_12)
'data.frame': 1045 obs. of 6 variables:
$ Gender : Factor w/ 3 levels "","F","M": 2 3 3 2 3 3 3 3 2 3 ...
$ Age : Factor w/ 8 levels "","0-17","18-25",..: 2 4 4 7 4 2 4 3 4 6 ...
$ Occupation : int 10 15 20 9 7 10 14 15 7 3 ...
$ Stay_In_Current_City_Years: Factor w/ 6 levels "","0","1","2",..: 4 5 3 3 3 5 2 6 5 3 ...
$ Marital_Status : int 0 0 1 0 0 0 0 0 1 1 ...
$ 消费总额 : int 333481 341635 821001 379450 1047124 1457938 185747 1279678 720850 1940043 ...
(4)变量类型转换,可以发现表示职业以及婚姻状况的分类变量被自动录入为整数型变量,对二者进行变量类型的转换。
(5)异常值的查看与处理