というわけで、ミス・モノクロームの欠損値を補ったので、毎度おなじみの主成分分析をやる(ラブライブ!, シンデレラガールズ, Wake Up, Girls!)。
画像はガールフレンド(仮)速報のトップページを保存したらjpgが取ってこれるので、001から始まるjpgファイルだけ残して適当にフォルダ名(/girlfriend/pngs/)を付けておく。
クロエ・ルメールは声からしてぜってーロリキャラだと思っていたら、実は3年生でグラマラスキャラだということがわかった。
pngs <- list.files("/girlfriend/pngs/") library(png) library(jpeg) pics <- vector("list", length(pngID)) for(i in seq(pics)){ pics[[i]] <- readJPEG(paste("/girlfriend/pngs/", pngID[i], ".jpg", sep=""), native=TRUE) } ra <- 1 #原点に近いところが潰れるので拡大したかったけど、等倍でやった。 xy0 <- sapply(pics, dim)[1:2, ] #pixel xy0[2,] <- 200 # なんか横が潰れるのでテコ入れ rownames(xy0) <- c("height", "width") s0 <- 0.0015 #拡大縮小率 bityosei <- replicate(nrow(dat1), c(0.5,-2.8)) bityosei[2, c(2,3,7,14)] <- 3.8 bityosei[1, 4] <- 0.05 #png("20140110kari.png", 1600, 1600) par(mar=c(6, 7, 5, 2)) plot(pca_score[, 1:2], type="n", xlab="", ylab="← スレンダー 年相応スタイル グラマー →", cex.lab=5) mtext("← 大人\tスタイル\tロリ →", 1, line=5, cex=5) title("ガールフレンド(仮) のキャラ分析", cex.main=5) abline(h=0, v=0, lty=3, col=grey(0.5), lwd=2) lay0 <- pca_score[,1:2] for(i in rev(seq(pics))){ xleft=lay0[i, 1]*ra - xy0[2, i]/2*s0 ybottom=lay0[i, 2]*ra - xy0[1, i]/2*s0 xright=lay0[i, 1]*ra + xy0[2, i]/2*s0 ytop=lay0[i, 2]*ra + xy0[1, i]/2*s0 rasterImage(image=pics[[i]], xleft=xleft, ybottom=ybottom, xright=xright, ytop=ytop, xpd=TRUE) text(pca_score[i, 1], pca_score[i, 2], rownames(dat1)[i], adj=bityosei[,i]) } #dev.off()