用R语言分析SPSS第11章消费者购买保健品的动机(主成分分析)

浏览: 1890

该数据记录了消费者对购买保健品的20个动机的打分数据(1-5分),同时记录了消费者的婚姻状态、教育水平、个人收入以及主要使用的保健品品牌。

分析目的:

1、20个动机太多,而且不少动机有重复,通过因子分析降维成少数个因子

2、不同婚姻状态的消费者在购买保健品的动机上是否有差异?

3、消费者在不同保健品品牌上的购买动机是否有差异?

4、不同的动机对应的人群特征(婚姻、教育水平、个人收入,是否用聚类)(本次分析没有讨论)

  • 导入和查看数据

该数据是经过整理了,无需进行数据的清洗。但是导入的数据在w6(个人收入)上出现了缺失值,由于本次分析不用该数据,可以删除。例外里面已经是经过分析后的数据,因而有5个主成分因子。

>library(foreign)

>healthproducts<-read.spss("保健品.sav=",use.value.labels=TRUE,to.data.frame=TRUE)

>head(healthproducts)

 q5_01 q5_02 q5_03 q5_04 q5_05 q5_06 q5_07 q5_08 q5_09 q5_10 q5_11 q5_12 q5_13 q5_14 q5_15 q5_16 q5_17 q5_18 q5_19 q5_20   q8   w1
1 3 3 4 5 5 5 4 5 3 4 4 4 3 4 5 5 2 3 4 4 其它 未婚
2 5 4 5 5 5 5 5 4 4 4 4 3 4 4 5 5 5 4 4 5 其它 未婚
3 5 5 5 5 1 1 4 1 1 1 5 1 1 5 5 1 1 5 1 1 其它 已婚
4 3 5 5 1 1 1 4 5 4 4 4 2 3 4 3 4 4 1 1 5 其它 未婚
5 5 4 2 2 3 4 4 3 4 3 2 5 3 2 3 4 3 4 5 3 其它 未婚
6 5 5 4 3 1 3 4 4 3 3 2 2 2 3 3 5 1 3 1 5 其它 已婚
w2 w6 fac1_1 fac2_1 fac3_1 fac4_1 fac5_1
1 4 1 0.3386992 0.36500876 0.12134152 -0.59052094 1.2983110
2 5 1 1.2418370 0.21473810 -0.08364404 0.74892608 0.9387580
3 2 8 -1.1876748 -1.77500808 -0.33126515 1.86228257 -0.7150096
4 4 11 -0.3187382 0.07635357 0.20144329 0.38134635 -1.7571711
5 4 11 0.9930303 -0.22689198 -1.51405454 0.02970621 0.4821900
6 3 10 -0.2281808 -0.29290191 -1.30937721 1.40377133 -1.0528023

>summary(healthproducts)

> summary(healthproducts)
q5_01 q5_02 q5_03 q5_04 q5_05 q5_06 q5_07 q5_08
Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.00 Min. :1.000 Min. :1.000 Min. :1.000
1st Qu.:3.000 1st Qu.:3.000 1st Qu.:4.000 1st Qu.:2.000 1st Qu.:1.00 1st Qu.:2.000 1st Qu.:3.000 1st Qu.:3.000
Median :4.000 Median :4.000 Median :4.000 Median :4.000 Median :3.00 Median :4.000 Median :4.000 Median :4.000
Mean :3.805 Mean :3.933 Mean :4.155 Mean :3.306 Mean :2.76 Mean :3.277 Mean :3.683 Mean :3.643
3rd Qu.:5.000 3rd Qu.:5.000 3rd Qu.:5.000 3rd Qu.:5.000 3rd Qu.:4.00 3rd Qu.:5.000 3rd Qu.:5.000 3rd Qu.:5.000
Max. :5.000 Max. :5.000 Max. :5.000 Max. :5.000 Max. :5.00 Max. :5.000 Max. :5.000 Max. :5.000

q5_09 q5_10 q5_11 q5_12 q5_13 q5_14 q5_15 q5_16
Min. :1.00 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
1st Qu.:3.00 1st Qu.:3.000 1st Qu.:3.000 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:3.000 1st Qu.:3.000 1st Qu.:3.000
Median :4.00 Median :4.000 Median :4.000 Median :3.000 Median :4.000 Median :4.000 Median :4.000 Median :4.000
Mean :3.75 Mean :3.901 Mean :3.845 Mean :3.139 Mean :3.438 Mean :3.666 Mean :4.032 Mean :3.869
3rd Qu.:5.00 3rd Qu.:5.000 3rd Qu.:5.000 3rd Qu.:4.000 3rd Qu.:5.000 3rd Qu.:5.000 3rd Qu.:5.000 3rd Qu.:5.000
Max. :5.00 Max. :5.000 Max. :5.000 Max. :5.000 Max. :5.000 Max. :5.000 Max. :5.000 Max. :5.000

q5_17 q5_18 q5_19 q5_20 q8 w1 w2 w6
Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000 其它 :282 未婚:172 Min. :1.000 Min. : 1.000
1st Qu.:1.000 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:2.000 排毒** : 83 已婚:453 1st Qu.:2.000 1st Qu.: 6.000
Median :2.000 Median :3.000 Median :3.000 Median :3.000 太太** : 55 Median :3.000 Median : 8.000
Mean :2.694 Mean :3.037 Mean :3.032 Mean :3.275 红桃* : 55 Mean :3.235 Mean : 7.456
3rd Qu.:4.000 3rd Qu.:4.000 3rd Qu.:4.000 3rd Qu.:5.000 朵** : 55 3rd Qu.:4.000 3rd Qu.:10.000
Max. :5.000 Max. :5.000 Max. :5.000 Max. :5.000 阿* : 40 Max. :7.000 Max. :16.000
(Other): 55 NA's :7
fac1_1 fac2_1 fac3_1 fac4_1 fac5_1
Min. :-2.67891 Min. :-3.5589 Min. :-3.3678 Min. :-3.3466 Min. :-3.03879
1st Qu.:-0.74743 1st Qu.:-0.5653 1st Qu.:-0.6539 1st Qu.:-0.6213 1st Qu.:-0.71501
Median : 0.05951 Median : 0.2007 Median : 0.1412 Median : 0.1212 Median : 0.07166
Mean : 0.00000 Mean : 0.0000 Mean : 0.0000 Mean : 0.0000 Mean : 0.00000
3rd Qu.: 0.72792 3rd Qu.: 0.7535 3rd Qu.: 0.7512 3rd Qu.: 0.6966 3rd Qu.: 0.76012
Max. : 2.40557 Max. : 2.0573 Max. : 2.2363 Max. : 2.6494 Max. : 2.54180

#q5_01~q5_20没有缺失值和异常值,w6有7个缺失值,可以不考虑。

>str(healthproducts)

'data.frame':	625 obs. of  29 variables:
$ q5_01 : num 3 5 5 3 5 5 5 4 4 5 ...
$ q5_02 : num 3 4 5 5 4 5 5 5 3 5 ...
$ q5_03 : num 4 5 5 5 2 4 3 5 4 4 ...
$ q5_04 : num 5 5 5 1 2 3 2 1 5 2 ...
$ q5_05 : num 5 5 1 1 3 1 2 1 3 1 ...
$ q5_06 : num 5 5 1 1 4 3 2 2 4 3 ...
$ q5_07 : num 4 5 4 4 4 4 5 5 4 2 ...
$ q5_08 : num 5 4 1 5 3 4 4 3 3 2 ...
$ q5_09 : num 3 4 1 4 4 3 3 5 4 5 ...
$ q5_10 : num 4 4 1 4 3 3 5 1 4 3 ...
$ q5_11 : num 4 4 5 4 2 2 4 4 4 1 ...
$ q5_12 : num 4 3 1 2 5 2 4 5 4 1 ...
$ q5_13 : num 3 4 1 3 3 2 2 3 4 4 ...
$ q5_14 : num 4 4 5 4 2 3 5 4 4 5 ...
$ q5_15 : num 5 5 5 3 3 3 5 5 4 5 ...
$ q5_16 : num 5 5 1 4 4 5 5 2 3 5 ...
$ q5_17 : num 2 5 1 4 3 1 2 1 2 2 ...
$ q5_18 : num 3 4 5 1 4 3 4 3 3 2 ...
$ q5_19 : num 4 4 1 1 5 1 5 3 2 4 ...
$ q5_20 : num 4 5 1 5 3 5 3 4 3 4 ...
$ q8 : Factor w/ 8 levels "太太**","乌鸡**",..: 8 8 8 8 8 8 8 8 8 8 ...
$ w1 : Factor w/ 2 levels "未婚","已婚": 1 1 2 1 1 2 2 2 2 1 ...
$ w2 : num 4 5 2 4 4 3 3 4 3 5 ...
$ w6 : num 1 1 8 11 11 10 10 9 11 10 ...
$ fac1_1: num 0.339 1.242 -1.188 -0.319 0.993 ...
$ fac2_1: num 0.365 0.2147 -1.775 0.0764 -0.2269 ...
$ fac3_1: num 0.1213 -0.0836 -0.3313 0.2014 -1.5141 ...
$ fac4_1: num -0.5905 0.7489 1.8623 0.3813 0.0297 ...
$ fac5_1: num 1.298 0.939 -0.715 -1.757 0.482 ...
- attr(*, "variable.labels")= Named chr "令面色红润" "使皮肤有光泽" "精神状态好" "去斑" ...
..- attr(*, "names")= chr "q5_01" "q5_02" "q5_03" "q5_04" ...
- attr(*, "codepage")= int 936

#导入进来的数据变量定义符合要求。

  • 筛选q5_01~q5_20进行因子分析。

SPSS中的因子分析是用主成分分析方法实现的,而不是因子分析方法(如何区分二者差别和效度

>producteffects<-healthproducts[,c(1:20)]

#描述性统计

>

mystats<-function(x,na.omit=FALSE){

  if(na.omit)#不能写=TRUE

    x<-x[!is.na(x)]

  max<-max(x)

  min<-min(x)

  m<-mean(x)

  n<-length(x)

  s<-sd(x)#标准差

  skew<-sum((x-m)^3/s^3)/n#偏度

  kurt<-sum((x-m)^4/s^4)/n-3#峰度

  return(c(n=n,min=min,max=max,mean=m,stdev=s,skew=skew,kurtosis=kurt))

}

>round(t(sapply(producteffects[,1:20],mystats)),3)

        n min max  mean stdev   skew kurtosis
q5_01 625 1 5 3.805 1.289 -0.904 -0.292
q5_02 625 1 5 3.933 1.173 -0.928 -0.094
q5_03 625 1 5 4.155 1.045 -1.245 0.904
q5_04 625 1 5 3.306 1.485 -0.335 -1.312
q5_05 625 1 5 2.760 1.562 0.192 -1.518
q5_06 625 1 5 3.277 1.546 -0.340 -1.399
q5_07 625 1 5 3.683 1.354 -0.773 -0.637
q5_08 625 1 5 3.643 1.383 -0.684 -0.818
q5_09 625 1 5 3.750 1.371 -0.890 -0.458
q5_10 625 1 5 3.901 1.149 -0.939 0.092
q5_11 625 1 5 3.845 1.291 -0.951 -0.226
q5_12 625 1 5 3.139 1.407 -0.223 -1.250
q5_13 625 1 5 3.438 1.413 -0.460 -1.123
q5_14 625 1 5 3.666 1.411 -0.738 -0.815
q5_15 625 1 5 4.032 1.187 -1.169 0.431
q5_16 625 1 5 3.869 1.262 -0.933 -0.220
q5_17 625 1 5 2.694 1.559 0.256 -1.493
q5_18 625 1 5 3.037 1.387 -0.159 -1.274
q5_19 625 1 5 3.032 1.358 -0.142 -1.242
q5_20 625 1 5 3.275 1.418 -0.307 -1.206

#可以看出有些变量的均值很高,而且标准差比较低,例如q5_01q5_02,q5_03,q5_10q5_15,说明这些变量在整体样本上都是重要的购买动机。但是因子分析的目的在于提取各变量不同的解释成分,强调差异性,因而会忽略各变量相同的解释成分。

#求q5_01~q5_20的频数并可视化

>par(mar=c(2,1,2,1),mfrow=c(5,4))

>data<-matrix(rep(0,100),nrow=20,ncol=5)

>data<-as.data.frame(data)

>colnames(data)<-c(1:5)

>for(i in 1:20){

      data[i,]<-table(producteffects[,i])#将每个变量的频数放在data数据表对应的行中,

      rownames(data)[i]<-colnames(producteffects)[i]#将变量名称放置在对应的行名称中

     hist(producteffects[,i],main = paste("hist of", colnames(producteffects)[i]))#画出直方图并标明个图形的主标题以区分。

}

结果是生成data的频数表

}}A_33G1K0_[O2[Y2S$T7F6.png



}{~G4CY)S0W6G{{}YHLM0HA.png

  • 变量相关性

#求q5_01~q5_20各题项之间的相关性

>library(corrgram)

>corrgram(producteffects,order = TRUE,lower.panel = panel.cor,upper.panel = panel.pie,text.panel = panel.txt)

@V[]_V0WE2DEF6OH2G@`NZP.png

#各变量之间都存在着一定的相关性,且都是正相关

#相关性显著性检验(多个变量两两之间的检验用corr.test()函数)

>library(psych)

>corr.test(producteffects)

Call:corr.test(x = producteffects)
Correlation matrix
q5_01 q5_02 q5_03 q5_04 q5_05 q5_06 q5_07 q5_08 q5_09 q5_10 q5_11 q5_12 q5_13 q5_14 q5_15 q5_16 q5_17 q5_18 q5_19 q5_20
q5_01 1.00 0.60 0.27 0.28 0.16 0.27 0.30 0.18 0.27 0.11 0.20 0.29 0.14 0.23 0.18 0.14 0.20 0.17 0.13 0.21
q5_02 0.60 1.00 0.35 0.26 0.15 0.30 0.32 0.19 0.30 0.23 0.23 0.31 0.10 0.26 0.20 0.13 0.17 0.16 0.12 0.18
q5_03 0.27 0.35 1.00 0.20 0.07 0.19 0.23 0.17 0.22 0.28 0.27 0.28 0.11 0.23 0.32 0.20 0.10 0.06 0.04 0.11
q5_04 0.28 0.26 0.20 1.00 0.35 0.46 0.27 0.18 0.24 0.12 0.08 0.27 0.19 0.20 0.12 0.03 0.11 0.12 0.15 0.14
q5_05 0.16 0.15 0.07 0.35 1.00 0.23 0.15 0.16 0.09 0.05 0.01 0.21 0.12 0.06 0.09 0.07 0.19 0.13 0.15 0.18
q5_06 0.27 0.30 0.19 0.46 0.23 1.00 0.41 0.29 0.42 0.19 0.14 0.29 0.16 0.36 0.15 0.10 0.13 0.12 0.18 0.09
q5_07 0.30 0.32 0.23 0.27 0.15 0.41 1.00 0.22 0.29 0.17 0.18 0.29 0.10 0.21 0.20 0.16 0.19 0.19 0.22 0.16
q5_08 0.18 0.19 0.17 0.18 0.16 0.29 0.22 1.00 0.40 0.22 0.17 0.24 0.32 0.29 0.20 0.08 0.06 0.06 0.09 0.13
q5_09 0.27 0.30 0.22 0.24 0.09 0.42 0.29 0.40 1.00 0.32 0.18 0.28 0.23 0.51 0.24 0.09 0.12 0.06 0.14 0.16
q5_10 0.11 0.23 0.28 0.12 0.05 0.19 0.17 0.22 0.32 1.00 0.38 0.27 0.17 0.27 0.29 0.07 0.05 0.07 0.07 0.05
q5_11 0.20 0.23 0.27 0.08 0.01 0.14 0.18 0.17 0.18 0.38 1.00 0.36 0.20 0.21 0.29 0.08 0.05 0.10 0.04 0.05
q5_12 0.29 0.31 0.28 0.27 0.21 0.29 0.29 0.24 0.28 0.27 0.36 1.00 0.28 0.28 0.19 0.14 0.18 0.28 0.22 0.21
q5_13 0.14 0.10 0.11 0.19 0.12 0.16 0.10 0.32 0.23 0.17 0.20 0.28 1.00 0.28 0.15 0.10 0.10 0.10 0.09 0.15
q5_14 0.23 0.26 0.23 0.20 0.06 0.36 0.21 0.29 0.51 0.27 0.21 0.28 0.28 1.00 0.38 0.09 0.12 0.11 0.16 0.12
q5_15 0.18 0.20 0.32 0.12 0.09 0.15 0.20 0.20 0.24 0.29 0.29 0.19 0.15 0.38 1.00 0.20 0.04 0.17 0.09 0.15
q5_16 0.14 0.13 0.20 0.03 0.07 0.10 0.16 0.08 0.09 0.07 0.08 0.14 0.10 0.09 0.20 1.00 0.29 0.19 0.16 0.25
q5_17 0.20 0.17 0.10 0.11 0.19 0.13 0.19 0.06 0.12 0.05 0.05 0.18 0.10 0.12 0.04 0.29 1.00 0.39 0.32 0.33
q5_18 0.17 0.16 0.06 0.12 0.13 0.12 0.19 0.06 0.06 0.07 0.10 0.28 0.10 0.11 0.17 0.19 0.39 1.00 0.57 0.39
q5_19 0.13 0.12 0.04 0.15 0.15 0.18 0.22 0.09 0.14 0.07 0.04 0.22 0.09 0.16 0.09 0.16 0.32 0.57 1.00 0.37
q5_20 0.21 0.18 0.11 0.14 0.18 0.09 0.16 0.13 0.16 0.05 0.05 0.21 0.15 0.12 0.15 0.25 0.33 0.39 0.37 1.00
Sample Size
[1] 625
Probability values (Entries above the diagonal are adjusted for multiple tests.)
q5_01 q5_02 q5_03 q5_04 q5_05 q5_06 q5_07 q5_08 q5_09 q5_10 q5_11 q5_12 q5_13 q5_14 q5_15 q5_16 q5_17 q5_18 q5_19 q5_20
q5_01 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.32 0.00 0 0.03 0.00 0.00 0.04 0.00 0.00 0.06 0.00
q5_02 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0 0.60 0.00 0.00 0.06 0.00 0.01 0.16 0.00
q5_03 0.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 0 0.18 0.00 0.00 0.00 0.39 1.00 1.00 0.19
q5_04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.86 0 0.00 0.00 0.12 1.00 0.24 0.15 0.02 0.03
q5_05 0.00 0.00 0.08 0.00 0.00 0.00 0.01 0.00 0.80 1.00 1.00 0 0.14 1.00 0.65 1.00 0.00 0.08 0.01 0.00
q5_06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0 0.00 0.00 0.01 0.60 0.09 0.17 0.00 0.80
q5_07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0 0.60 0.00 0.00 0.01 0.00 0.00 0.00 0.01
q5_08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0 0.00 0.00 0.00 0.98 1.00 1.00 0.65 0.05
q5_09 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0 0.00 0.00 0.00 0.65 0.13 1.00 0.03 0.00
q5_10 0.01 0.00 0.00 0.00 0.24 0.00 0.00 0.00 0.00 0.00 0.00 0 0.00 0.00 0.00 1.00 1.00 1.00 1.00 1.00
q5_11 0.00 0.00 0.00 0.04 0.79 0.00 0.00 0.00 0.00 0.00 0.00 0 0.00 0.00 0.00 0.95 1.00 0.56 1.00 1.00
q5_12 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0 0.00 0.00 0.00 0.04 0.00 0.00 0.00 0.00
q5_13 0.00 0.02 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0 0.00 0.00 0.01 0.48 0.60 0.60 0.65 0.01
q5_14 0.00 0.00 0.00 0.00 0.17 0.00 0.00 0.00 0.00 0.00 0.00 0 0.00 0.00 0.00 0.80 0.11 0.25 0.01 0.14
q5_15 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0 0.00 0.00 0.00 0.00 1.00 0.00 0.65 0.01
q5_16 0.00 0.00 0.00 0.47 0.08 0.02 0.00 0.05 0.02 0.07 0.04 0 0.01 0.03 0.00 0.00 0.00 0.00 0.01 0.00
q5_17 0.00 0.00 0.01 0.01 0.00 0.00 0.00 0.15 0.00 0.22 0.20 0 0.02 0.00 0.35 0.00 0.00 0.00 0.00 0.00
q5_18 0.00 0.00 0.11 0.00 0.00 0.00 0.00 0.11 0.15 0.07 0.02 0 0.02 0.01 0.00 0.00 0.00 0.00 0.00 0.00
q5_19 0.00 0.00 0.33 0.00 0.00 0.00 0.00 0.02 0.00 0.07 0.34 0 0.02 0.00 0.02 0.00 0.00 0.00 0.00 0.00
q5_20 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.23 0.18 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

#结果不仅给出了相关性强度,还给出了相关性显著性的值,可以看出大部分的相关性系数都是显著的,因而后续可以进行因子分析。

  • 因子分析描述(KMO和Bartlett球形度检验

如何预估因子分析的效果,SPSS中使用KMO和Bartlett球形度检验,R中如何实现?

实际中当KMO统计量>0.7时,因子分析的效果比较好

Bartlett球形度检验具有显著性,表明变量间存在相关性,可提取公因子。

  • 判断提取的因子数

碎石图判断需要提取的因子数目(主成分特征值>1的个数)

>opar<-par(no.readonly = TRUE)

>par(mar=c(2,2,2,2),mfrow=c(1,1))(重置图形界面的格式)

>library(psych)

>fa.parallel(producteffects,fa="pc",n.iter = 100,main = "scree plot with parallel analysis",show.legend = TRUE)

>abline(h=1)#利用主成分分析方法来提取因子,那么应该考虑特征值1(h=1)以上的点。

>par(opar)

~N8]WE_B3{FZ2)1G89$L$SQ.png

#可以看出图中特征值>1的成分个数有5-6个,考虑提取5个成分

  • 因子提取

#主成分方法提取未旋转公共因子

>Nonrotateprincipal<-principal(producteffects,nfactors = 5,rotate = "none")(不太明白为什么在旋转之前一定要先求未旋转的情况

>Nonrotateprincipal

Principal Components Analysis
Call: principal(r = producteffects, nfactors = 5, rotate = "none")
Standardized loadings (pattern matrix) based upon correlation matrix
PC1 PC2 PC3 PC4 PC5 h2 u2 com
q5_01 0.57 0.00 -0.18 -0.48 -0.09 0.60 0.40 2.2
q5_02 0.60 -0.09 -0.11 -0.52 -0.09 0.66 0.34 2.1
q5_03 0.49 -0.22 0.22 -0.37 0.07 0.48 0.52 2.8
q5_04 0.50 -0.03 -0.54 0.00 0.23 0.59 0.41 2.4
q5_05 0.34 0.20 -0.43 0.07 0.46 0.56 0.44 3.3
q5_06 0.59 -0.14 -0.44 0.10 -0.15 0.60 0.40 2.2
q5_07 0.56 0.03 -0.19 -0.16 -0.16 0.40 0.60 1.6
q5_08 0.48 -0.23 -0.07 0.39 -0.06 0.45 0.55 2.5
q5_09 0.60 -0.29 -0.08 0.25 -0.39 0.67 0.33 2.7
q5_10 0.45 -0.34 0.35 0.06 0.15 0.47 0.53 3.1
q5_11 0.44 -0.29 0.42 -0.11 0.38 0.61 0.39 3.9
q5_12 0.62 0.00 0.06 0.02 0.37 0.53 0.47 1.7
q5_13 0.41 -0.12 0.07 0.46 0.28 0.47 0.53 2.9
q5_14 0.58 -0.27 0.09 0.28 -0.34 0.61 0.39 2.7
q5_15 0.48 -0.19 0.39 0.00 -0.06 0.42 0.58 2.3
q5_16 0.32 0.29 0.30 -0.13 -0.16 0.32 0.68 3.9
q5_17 0.39 0.55 0.06 -0.04 -0.08 0.46 0.54 1.9
q5_18 0.42 0.64 0.20 0.09 0.04 0.63 0.37 2.0
q5_19 0.41 0.60 0.07 0.21 -0.08 0.58 0.42 2.1
q5_20 0.42 0.52 0.13 0.08 -0.03 0.47 0.53 2.1

PC1 PC2 PC3 PC4 PC5
SS loadings 4.83 2.00 1.44 1.28 1.04
Proportion Var 0.24 0.10 0.07 0.06 0.05
Cumulative Var 0.24 0.34 0.41 0.48 0.53
Proportion Explained 0.46 0.19 0.14 0.12 0.10
Cumulative Proportion 0.46 0.65 0.78 0.90 1.00

说明:

未旋转的情况下,往往各成分难以进行有意义的命名,因为因子分析中各因子必须有意义。

从各成分的方差解释比例可以看出,这5个成分的累计方差解释比例达到53%。可以接受。

#提取旋转后的主成分

>rotateprincipal<-principal(producteffects,nfactors = 5,rotate = "varimax",scores=TRUE)

>rotateprincipal$loadings#自动删除载荷在0.1以下的值(如何将标签显示在载荷表的行名称里面

Loadings:
RC2 RC1 RC5 RC4 RC3
q5_01 0.152 0.123 0.726 0.160
q5_02 0.102 0.121 0.210 0.761 0.108
q5_03 0.498 0.479
q5_04 0.237 0.317 0.661
q5_05 0.160 0.724
q5_06 0.559 0.363 0.387
q5_07 0.209 0.307 0.480 0.173
q5_08 0.599 0.212 0.213
q5_09 0.773 0.122 0.232
q5_10 0.262 0.627
q5_11 0.768 0.118
q5_12 0.243 0.139 0.503 0.172 0.405
q5_13 0.115 0.360 0.385 -0.248 0.343
q5_14 0.107 0.721 0.238 0.138
q5_15 0.152 0.293 0.511 0.159 -0.159
q5_16 0.467 0.160 0.203 -0.196
q5_17 0.649 0.176
q5_18 0.780 0.106
q5_19 0.736 0.152 0.129
q5_20 0.668 0.101

RC2 RC1 RC5 RC4 RC3
SS loadings 2.454 2.302 2.114 2.092 1.625
Proportion Var 0.123 0.115 0.106 0.105 0.081
Cumulative Var 0.123 0.238 0.344 0.448 0.529

说明:表中输出结果载荷在0.3以下的可以忽略,0.3~0.5之间的可以参考,高于0.5的成分可以合并命名。

RC2:q5_17,18,19,20合并,是关于同龄人的行为,年轻人的建议,自身形象,命名为外界影响

RC1:q5_06,08,09,14合并,是关于延缓衰老、调节内分泌和抗皱的,命名为延缓衰老

RC5q5_10,11,12,15合并,是关于提高睡眠质量、抗疲劳、提高免疫力、消除黑眼圈,命名为身体健康

RC4:q5_01,02合并,是关于皮肤光泽和红润的,命名为气色肤色

RC3:q5_04,06合并,是关于祛痘祛斑,命名为特定问题

>scores<-rotateprincipal$scores#设置scores=TRUE,可以得到各成分的得分表,保存为变量继续后面的分析

#对因子进行命名

>colnames(scores)<-c("外界影响","延缓衰老","身体健康","气色肤色","特定问题")

  • 基于因子分析结果进行数据分析

#将得分表与消费者特征变量整合

>analysisdata<-cbind(healthproducts[,c(1:24)],scores)

##不同婚姻状况消费者在各成分上的均值和标准差

melt()函数

#分析不同婚姻状况下消费者在购买动机上的差异

>test_function<-function(x){

     t.test<-t.test(x~analysisdata$w1)#假设的是方差非齐性,statistic对应t值,parameter对应df,方差齐性的时候用什么方法检验

     wilcox.test<-wilcox.test(x~analysisdata$w1)#这个是什么时候用的?

     return(c(t=t.test,w=wilcox.test))

}

>group<-sapply(analysisdata[,25:29],ttest_function)

t检验的结果得出的是SPSS中方差非齐性下输出的检验结果

GX$Z9}07EDP[2{2OV)]5LIH.png

#可视化不同婚姻状况的群体在不同因子上的分布

>library(lattice)

>splom(analysisdata[,25:29],groups =analysisdata$w1, auto.key=TRUE, pch=1:2,col=1:2, key=list(text=list(levels(factor(analysisdata$w1))) , points=list(pch=1:2,col=1:2)))

9Y}{P_`[W9$@PUR~O`6O5C1.png

pairs(~外界影响+延缓衰老+身体健康+特定问题,data=subset(analysisdata[analysisdata$w1 %in% "未婚",]),col="blue")#两两的散点图,但是如何用颜色区分婚姻

pairs(~外界影响+延缓衰老+身体健康+特定问题,data=subset(analysisdata[analysisdata$w1 %in% "已婚",]),col="red",add=TRUE)#为什么不行

#不同品牌偏好的消费者在5个成分上的差异

aggr_brand<-aggregate(analysisdata[,25:29],by=list(analysisdata$q8),FUN = mean)

8U~N$6ACQD6]BH3U_NX@L5H.png

推荐 0
本文由 人和六栋 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

请问有原始数据的链接吗?谢谢了!

要回复文章请先登录注册