クラスタリング解析に大変便利なパッケージです。Windows環境ではインストールが易かったですが、MACは面倒でした。でも、MAC環境の方にも面倒を乗り越えてぜひ利用してほしいパッケージです。MACでのインストール方法を合わせて紹介します。
パッケージバージョンは0.99.11。実行コマンドはwindows 7およびOS X 10.11.2のR version 3.2.3で確認しています。
Macでの事前準備
下記コマンドを「アプリケーション」、「ユーティリティ」フォルダから「ターミナル」を実行して下記コマンドを実行してください。Xcodeが必要です。もし、XCodeが未インストールの場合はApp Storeよりインストールしてください。
また、macportsのインストールも必要です。下記URLより使用中のmac OSのバージョンに合わせてインストールしてください。
https://www.macports.org/install.php
sudo xcodebuild -license sudo port install gcc48 g++-mp-4.8 -v mkdir ~/.R nano ~/.R/Makevars CXX=g++-mp-4.8 -arch x86_64 CC=gcc-mp-4.8 SHLIB_OPENMP_CXXFLAGS= -fopenmp #上記実行後"controlキー + o",そして"return"キー,"controlキー + x"を実行
パッケージのインストール
下記、コマンドを実行してください。本パッケージの利用は依存パッケージがかなりシビアです。もし、「devtools::install_github("pkimes/sigclust2")」コマンド実行後にエラーが出る場合は、エラーメッセージで表示されるパッケージをインストールしてください。
#念のため実行 source("https://bioconductor.org/biocLite.R") biocLite(c("GO.db", "preprocessCore", "preprocessCore")) #MACは以下を実行 install.packages("Matrix") install.packages(c("Rcpp", "RcppEigen", "Rclusterpp"), type = "source") #パッケージのインストール install.packages("devtools") devtools::install_github("pkimes/sigclust2")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み
library("sigclust2")
###データ例の作成#####
n <- 400
TestData <- matrix(rnorm(n), nrow = 100, ncol = 4)
#1列目のデータを入れ替え
TestData[, 1] <- TestData[, 1] + c(rep(1.0, 45), rep(-1.0, 45), rep(0, 10))
#2列目のデータを入れ替え
TestData[, 2] <- TestData[, 2] + c(rep(2.0, 45), rep(-2.0, 45), rep(1, 10))
colnames(TestData) <- paste0("Group", 1:4)
rownames(TestData) <- paste0("Data", 1:100)
########
#クラスタリングの計算:shcコマンド
#データを指定:xオプション
#距離計算方法の指定,distコマンドを利用:metricオプション;
#euclidean,cor,manhattan,maximum,minkowski等の指定が可能
#結合方法の指定:linkageオプション;
#rcpp=TRUEでRclusterpp.hclust,rcpp=FALSEでhclustコマンドを利用
#ward.D2,single,complete,average,median,centroid等の指定が可能
ShcResult <- shc(x = TestData,
metric = "cor",
linkage = "complete",
rcpp = FALSE,
ci = "2CI")
#結果の確認
summary(ShcResult)
shc object created using shc(..)
--------------------------------
Clustering Parameters:
dissimilarity = cor
linkage = complete
Testing Parameters:
n_sim = 100
icovest = 1
ci = 2CI
null_alg = hclust
min_n = 10
FWER control = FALSE
#構造の確認
names(ShcResult)
[1] "in_mat" "in_args" "eigval_dat" "eigval_sim" "backvar" "nd_type"
[7] "ci_dat" "ci_sim" "p_emp" "p_norm" "idx_hc" "hc_dat"
#結果をプロット
plot(ShcResult, hang = 1)
#クラスタ分析結果の特徴をプロット:diagnosticコマンド
#表示するクラスタの指定:kオプション;1で主ノード
#表示する内容を指定:ptyオプション;background,qq,covest,pvalueの指定が可能
SetPty <- c("background", "qq", "covest", "pvalue")
for(i in seq(length(SetPty))){
diagnostic(ShcResult, K = 1, pty = SetPty[i])
}
[/code]
出力例
少しでも、あなたのウェブや実験の解析が楽になりますように!!