市場區隔實作-Cluster Analysis

### 市場區隔技術

Mydata <- read.csv(file=”生活型態調查.csv”)
head(Mydata)
str(Mydata)
dim(Mydata)

A <- (Mydata[ ,c(5:34) ])
table(A[,1])
head(A[,1])

for ( i in 1:30 ) # 更改 六點尺度 語義文字的次序
{
A[ ,c(i)] <- factor(A[,c(i)], levels=c(‘完全不同意’,’不太同意’,’不同意’,’同意’,’有些同意’,’完全同意’))
}

str(A)
head(A[,1])

for ( i in 1:30 )
{
A[ ,c(i)] <- as.numeric(A[,c(i)])
}

str(A)

########## 因素分析

library(psych)

windows()
fa.parallel(A,fa=”fa”,fm=”ml”)

print.psych(fa(A, nfactors=6,rotate=”promax”,SMC=TRUE,fm=”pa”),cut=.3)

print.psych(fa(A[,c(1:7,9:25,27,29,30)], nfactors=6,rotate=”promax”,SMC=TRUE,fm=”pa”),cut=.3)

data <- A[,c(1:7,9:25,27,29,30)]
fit <- fa(A[,c(1:7,9:25,27,29,30)], nfactors=6,rotate=”promax”)

存因素分數

B <- fit$scores

### 市場區隔:集群分析 Cluster Analysis

library(cluster) # clustering algorithms
library(factoextra) # clustering algorithms & visualization

k2 <- kmeans(B, centers = 2, nstart = 25)
k3 <- kmeans(B, centers = 3, nstart = 25)
k4 <- kmeans(B, centers = 4, nstart = 25)
k5 <- kmeans(B, centers = 5, nstart = 25)

windows()
fviz_cluster(k2,data=B)

windows()
fviz_cluster(k3, data = B)

windows()
fviz_cluster(k4,data=B)

windows()
fviz_cluster(k5, data = B)

如何得知 座標一與座標二分數的意義定義

head(B) #因素分數

E <- fviz_cluster(k3, data = B) # k2到k幾都一樣,將估計結果存到 E

head(E$data[,2:3]) # x=dim1= E$data[ ,2], y=dime2=E$data[ ,3]
# 座標

B <- cbind(B,E$data[,2:3]) #將 座標 x,y 合併到 B 去
str(B)
head(B)

options(digits=4)
summary(lm(B$x ~ B$MR1+ B$MR3+ B$MR6+ B$MR2+ B$MR4+ B$MR5))
summary(lm(B$y ~ B$MR1+ B$MR3+ B$MR6+ B$MR2+ B$MR4+ B$MR5))

write.csv(file=”Cluster_xy.csv”,B) # 輸出到CSV