R言語で学ぶマーケティング分析 競争ポジショニング戦略
- 41. Rによる実行例: k-means法によるクラスタリング
k-means法を使ってクラスタリングを実行
sp.user.km <- kmeans(sp.user.data[, -1], 4)
sp.user.pca.df <- data.frame(sp.user.pca$x)
sp.user.pca.df$id <- sp.user.data$id
sp.user.pca.df$cluster <- as.factor(sp.user.km$cluster)
ggplot(sp.user.pca.df, aes(x=PC1, y=PC2, label=id, col=cluster)) +
geom_text() +
theme_bw(16)
2013年6月1日土曜日
- 43. Rによる実行例: レーダーチャート
レーダーチャートを描くと各クラスタの特徴が分かりやすい
R言語では、fmsbパッケージのradarchart関数で実行出来る
library(fmsb)
df <- data.frame(scale(sp.user.km$centers))
dfmax <- apply(df, 2, max) + 1
dfmin <- apply(df, 2, min) - 1
df <- rbind(dfmax, dfmin, df)
radarchart(df, seg = 5, plty = 1, pcol = rainbow(4))
legend("topright", legend = 1:4, col = rainbow(4), lty = 1)
2013年6月1日土曜日
- 57. Rによる実行例: MDSによる知覚マップの作成
MASSパッケージのisoMDS関数で作成
library(MASS)
target.data <- read.csv("target_preference_data.csv", header = T)
service.dist <- dist(t(target.data[, -1]))
service.map <- isoMDS(service.dist)
service.map.df <- data.frame(scale(service.map$points))
service.map.df$service_name <- names(target.data[, -1])
ggplot(service.map.df, aes(x = X1, y = X2, label = service_name)) +
geom_text() +
theme_bw(16)
2013年6月1日土曜日
- 59. Rによる実行例: 選好ベクトル
各ユーザーの選好度を
作成した知覚マップの横軸と縦軸の変数を使ってモデル化
user.preference.data <- do.call(rbind, lapply(1:nrow(target.data), function(i) {
preference.data <- data.frame(p = as.numeric(target.data[i, -1]),
X1 = service.map.df$X1,
X2 = service.map.df$X2)
fit <- lm(p ~ ., data = preference.data)
b <- 2/sqrt(fit$coef["X1"]^2 + fit$coef["X2"]^2)
data.frame(X1 = b * fit$coef["X1"], X2 = b * fit$coef["X2"], service_name = i)
}))
ggplot(service.map.df, aes(x = X1, y = X2, label = service_name)) +
geom_text() +
theme_bw(16) +
xlim(-2, 2) +
ylim(-2, 2) +
geom_point(data = user.preference.data, aes(x = X1, y = X2))
2013年6月1日土曜日