Rで 行列の分解 をする時の例は、下記になります。
「C:/Rtest」のフォルダに、「Data.csv」という名前のcsvファイルがある事を想定しています。 また、このページの例のように、一番上の行に列の名前、一番左の列に行の名前が書かれているデータを想定しています。
	
	library(ggplot2)	# パッケージの読み込み
	library(plotly)	# パッケージの読み込み
	setwd("C:/Rtest") # 作業用ディレクトリを変更
	Data0 <- read.csv("Data.csv", header=T, row.names=1) # データを読み込み
	Data1 = as.matrix(Data0) # データフレームを行列として読み込み
	
	Pt <- svd(Data1) 
	PtB = Pt$u	# 行側のパターンを作成
	PtA = Pt$v	# 列側のパターンを作成
	
	library(NMF)	# パッケージの読み込み
	Pt <- nmf(Data1, 2) # パターンが2個になるようにNMF
	PtB = basis(Pt)	# 行側のパターンを作成
	PtA = t(coef(Pt))	# 列側のパターンを作成
	
	
	A = data.frame(PtA) # 行列をフレームにする
	A$Name <-colnames(Data1) # 名前の列を作る
	A$Group <-'A' # 名前の列を作る
	ggplot(A, aes(x=A[,1], y=A[,2],label=Name)) + geom_text()# 言葉の散布図
	
	library(MASS)# ライブラリを読み込み
	Data11_dist <- dist(A[,1:ncol(PtA)])# サンプル間の距離を計算
	sn <- sammon(Data11_dist) # 多次元尺度構成法
	output <- sn$points# 得られた2次元データの抽出
	
	Data2 <- as.data.frame(cbind(output, A))  # 元データと多次元尺度構成法の結果を合わせる。
	ggplotly(ggplot(Data2, aes(x=Data2[,1], y=Data2[,2],label=Name))  + geom_text()) # 言葉の散布図
	
	
	
	
	B = data.frame(PtB) # 行列をフレームにする
	B$Name <-rownames(Data1) # 名前の列を作る
	B$Group <-'B' # 名前の列を作る
	ggplot(B, aes(x=B[,1], y=B[,2],label=Name)) + geom_text()# 言葉の散布図
	
	library(MASS)# ライブラリを読み込み
	Data11_dist <- dist(B[,1:ncol(PtB)])# サンプル間の距離を計算
	sn <- sammon(Data11_dist) # 多次元尺度構成法
	output <- sn$points# 得られた2次元データの抽出
	
	Data2 <- as.data.frame(cbind(output, B))  # 元データと多次元尺度構成法の結果を合わせる。
	ggplotly(ggplot(Data2, aes(x=Data2[,1], y=Data2[,2],label=Name))  + geom_text()) # 言葉の散布図
	
	
	
	AB <- rbind(A,B) # データを合体する。
	ggplot(AB, aes(x=AB[,1], y=AB[,2],colour=Group,label=Name)) + geom_text()# 言葉の散布図
	
	library(MASS)# ライブラリを読み込み
	Data11_dist <- dist(AB[,1:ncol(PtB)])# サンプル間の距離を計算
	sn <- sammon(Data11_dist) # 多次元尺度構成法
	output <- sn$points# 得られた2次元データの抽出
	
	Data2 <- as.data.frame(cbind(output, AB))  # 元データと多次元尺度構成法の結果を合わせる。
	ggplotly(ggplot(Data2, aes(x=Data2[,1], y=Data2[,2],colour=Group,label=Name))  + geom_text()) # 言葉の散布図
	
	
	
筆者が最初に上記のコードを使った時は、何も問題がなかったのですが、しばらくしてから使ったら、NMFのインストールでエラーが出るようになりました。 エラーメッセージを見て、「Biobase」と「BiocGenerics」というパッケージをインストールしたところ、エラーはなくなりました。 これらの2つのパッケージはCRANにはないので、インストールはBioconductorというサイトから圧縮ファイルをダウンロードして、 それを展開して使いました。
 
