Rで解析:インタラクティブにデータを探索「qtlcharts」パッケージ

Rの解析に役に立つ記事

インタラクティブなデータマイニングが可能なパッケージの紹介です。本パッケージには多くのコマンドが収録されています。その中から、一部を紹介します。

Rにはインタラクティブな操作が可能なパッケージが多く存在します。ぜひ「からだにいいもの」内を検索してください。

パッケージバージョンは0.7-8。実行コマンドはwindows 7およびOS X 10.11.5のR version 3.3.0で確認しています。

スポンサーリンク
スポンサーリンク

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("qtlcharts")

実行コマンドの紹介

詳細はコマンド、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("qtlcharts")

#データの四分位数をインタラクティブに確認:iboxplotコマンド
#データ指定:datオプション
#四分位を0-0.5の範囲で指定:quオプション;初期値c(0.001, 0.001, 0.1, 0.25)
#中央値を表示:orderByMedianオプション;初期値TRUE
#ビンを指定:breaksオプション;初期値251
#グラフ装飾を設定:chartOptsオプション;listで指定
#数字の丸め処理:digitsオプション;初期値5
###データ例の作成#####
n <- 500
m <- 300
TestData <- matrix(rnorm(n * m), ncol = n)
dimnames(TestData) <- list(paste0("ID", 1:m),
                           sample(paste0("Test", 1:10), n, replace = TRUE))
########
iboxplot(dat = TestData, qu = c(0.1, 0.3, 0.4),
         orderByMedian = TRUE,
         chartOpts = list(xlab = "ID", ylab = "Value"))

#インタラクティブなヒートマップと折れ線グラフを作成:iheatmapコマンド
#データ指定:zオプション
#グラフ装飾を設定:chartOptsオプション;listで指定
###データ例の作成#####
n <- 5
m <- 4
TestData <- matrix(rnorm(n * m), ncol = n)
dimnames(TestData) <- list(paste0("ID", 1:m),
                           paste0("Test", 1:n))
########
#プロット
iheatmap(z = TestData,
         chartOpts = list(xlab = "ID", ylab = "Test"))


#インタラクティブなヒートマップと散布図を作成:iplotCorrコマンド
#データ指定:matオプション
#グループ判別データの付与:groupオプション
#データを並び替え:reoderオプション
###データ例の作成#####
#ヒートマップ用
n <- 50
m <- 50
TestData <- matrix(rnorm(n * m), ncol = n)
dimnames(TestData) <- list(paste0("ID", 1:m),
                           sample(paste0("Test", 1:10), n, replace = TRUE))
#グループ判別用
TestGroup <- setNames(sample(1:2, m, replace = TRUE), paste0("ID", 1:m))
########
#プロット
iplotCorr(mat = TestData, group = TestGroup,
          reorder = FALSE, corr = NULL, chartOpts = NULL, digits = 5)

#インタラクティブな折れ線グラフと散布図を作成:iplotCurvesコマンド
#折れ線グラフデータを指定:curveMatrix
#散布図1のデータを指定:scatter1オプション
#散布図2のデータを指定:scatter2オプション
#グループ判別データの付与:groupオプション
###データ例の作成#####
#ヒートマップ用
n <- 5
m <- 50
TestData <- matrix(rnorm(n * m), ncol = n)
dimnames(TestData) <- list(paste0("ID", 1:m),
                           sample(paste0("Test", 1:10), n, replace = TRUE))
#グループ判別用
TestGroup <- setNames(sample(1:2, m, replace = TRUE), paste0("ID", 1:m))
########
iplotCurves(curveMatrix = TestData,
            scatter1 = TestData[, 2:3], scatter2 = TestData[, 3:5],
            group = TestGroup,
            chartOpts = list(curves_xlab = "Time", curves_ylab = "Value",
                             scat1_xlab = "Time:2", scat1_ylab = "Time:3",
                             scat2_xlab = "Time:3", scat2_ylab = "Time:5"))

出力例

記事への埋め込みは煩雑になるので、出力したファイルをリンクで紹介します。

・iboxplotコマンド
https://www.karada-good.net/wp/wp-content/uploads/2016/07/iboxplot.html
・iheatmapコマンド
https://www.karada-good.net/wp/wp-content/uploads/2016/07/iheatmap.html
・iplotCorrコマンド
https://www.karada-good.net/wp/wp-content/uploads/2016/07/iplotCorr.html
・iplotCurvesコマンド
https://www.karada-good.net/wp/wp-content/uploads/2016/07/iplotCurves.html

参考画像
・iplotCorrコマンド

iplotCorr

少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました