行銷研究第十六週
市場區隔實作-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