多次元尺度構成法
R の多次元尺度構成法は古典的なものと非定量的なものがある。N個のオブジェクトがp個の変数をもつとき、オブジェクト間の距離を求めてそこからオブジェクトの地図を求めるために使われる。
参考:Rと多次元尺度法
古典的な多次元尺度構成法
cmdscale( ) 関数を使う。
					# 例によって足立浩平 (2006). 多変量データ解析法――心理・教育・社会系のための入門―― ナカニシヤ出版 第14章 p135 から。感謝
				
 
					# p135 表14.1B 距離的データ
					mat <- matrix(c(NA, 86, 127, 62, 0, 66, 128, NA, NA, 144, 126, 132, 137, 138, NA, NA, NA, 142, 139, 99, 143, NA, NA, NA, NA, 128, 133, 134, NA, NA, NA, NA, NA, 140, 125, NA, NA, NA, NA, NA, NA, 136, NA, NA, NA, NA, NA, NA, NA), dimnames=list(c("sha", "ouy", "sei", "kyo", "rin", "jik", "kei"), c("sha", "ouy", "sei", "kyo", "rin", "jik", "kei")),  nr=7) 
					d <- as.dist(mat) # distに変換
					fit <- cmdscale(d, eig=TRUE, k=2)
					fit
					
					
					# プロット 
					x <- fit$points[,1]
					y <- fit$points[,2]
					plot(x, y, xlab="Coordinate 1", ylab="Coordinate 2", 
  main="Metric	MDS",			type="n")
					text(x, y, labels = row.names(mat), cex=.7)
非計量多次元尺度構成法
非計量多次元尺度構成法はMASS パッケージの isoMDS( ) 関数で実行できる。
たぶん (?) 多次元展開法と同じ
					# N行 (オブジェクト) x p列 (変数) のデータ
					# それぞれの行は固有の名称であること
				
					# p139 表14.2 色の選好データ
					orange <- c(6,4,5,9,5,4,6,4,4,2,1,6,2,6,1,3,1,3,4,9)
					blue   <- c(1,5,5,2,3,1,3,3,1,1,1,1,1,1,3,2,1,2,4,5)
					grassy <- c(3,1,5,4,3,9,8,3,5,8,9,6,6,1,5,4,2,1,6,4)
					green  <- c(1,1,5,3,2,5,7,6,5,7,3,6,4,1,5,6,1,2,4,3)
					red    <- c(6,1,1,4,3,1,4,6,8,5,4,1,3,1,1,2,1,4,1,4)
					yellow <- c(5,7,5,3,6,3,6,3,4,5,6,4,5,9,5,6,1,3,5,9)
					purple <- c(6,9,2,5,9,5,8,3,7,6,8,1,7,2,5,3,1,1,2,8)
					dat <- data.frame(orange, blue, grassy, green, red, yellow, purple)
					rownames <- 1:20
					
					library(MASS)
					d <- fit(dat)
					fit
					
					# プロット
					x <- fit$points[,1]
					y <- fit$points[,2]
					plot(x, y, xlab="Coordinate 1", ylab="Coordinate 2",main="Nonmetric MDS", type="n")
					text(x, y, labels = colnames(dat), cex=.7) 
				
				
個人差多次元尺度構成法
INDSCALE (INdividual Differences SCALing) , ALSCALE (Alternating Least Squares SCALing) のような3要因の個人差多次元尺度構成法をRで実行することはいまのところできない。...とQuick-Rでは書いてあったが、SOMACOF, SensoMineR というパッケージやalscalという関数でできるみたい。

