対応分析の実行
library(dplyr) library(stringr) library(magrittr) library(ggplot2) library(rvest) library(ggrepel) library(ca) # データの概要 label item1 item2 item3 item4 item5 item6 item 7 A 5 3 3 5 5 5 5 B 3 4 4 5 4 5 5 C 4 4 4 5 5 3 5 D 5 4 3 5 5 5 4 E 5 3 3 5 5 5 3 F 5 1 5 5 5 5 3 # labelの列をname属性に変換 rownames(dat) <- dat$label # labelの列(1列目)を削除し対応分析 RE.ca <- ca(dat[, -1])
同時布置図(Symmetric Map)
label <- rownames(dat) item <- c(rep("label", nrow(dat)), rep("item", ncol(dat[, -1])) #labelとitemの数をそれぞれ指定 name <- c(label, colnames(dat[, -1])) results <- data.frame(name, item, rbind(RE.ca$rowcoord[, 1 : 2], (RE.ca$colcoord[, 1 : 2]))) PointPlot <- ggplot(results, aes(x = Dim1, y = Dim2, label = name, color = item, fill = item)) + geom_point(aes(colour = item, shape = item)) PointPlot+ geom_label_repel(aes(Dim1, Dim2, fill = factor(item), label = name), fontface = 'bold', color = 'white', box.padding = unit(0.35, "lines"), point.padding = unit(0.5, "lines"), segment.color = 'grey70') + geom_hline(yintercept = 0, colour = "gray70") + geom_vline(xintercept = 0, colour = "gray70") + xlab("Dim 1") + ylab("Dim 2")