Rで解析:Macで導入が面倒かもしれませんがオススメです!「sigclust2」パッケージ
クラスタリング解析に大変便利なパッケージです。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])
}
出力例
・shcコマンド
・background
・covest
・pvalue
少しでも、あなたのウェブや実験の解析が楽になりますように!!
このコードの続きをAIに聞く
スポンサーリンク




