Rで解析:handsontable.jsでテーブル作成「rhandsontable」パッケージの紹介

Rの解析に役に立つ記事

handsontable.jsを利用して、動的なhtmlテーブルを出力するパッケージの紹介です。動作が非常に軽く、大量のデータ内容を確認するのに向いているかと思います。

パッケージバージョンは0.3.8。実行コマンドはwindows 11のR version 4.1.2で確認しています。

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

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

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

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

実行コマンド

下記コマンドを実行してください。パッケージの中から使用頻度が高そうなコマンドを紹介します。詳細はコメントまたはパッケージヘルプを確認してください。

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

###データ例の作成#####
#文字列を因子にしない
TestData <- data.frame(val = 1:4, bool = TRUE,
                       TEST = c("A", "B", "C", "D"),
                       test = c("a", "b", " ", "d"),
                       Day = seq(from = Sys.Date(), by = "days",
                                 length.out = 4),
                       stringsAsFactors = FALSE)
########

#オプション無しでテーブルを描写:rhandsontableコマンド
rhandsontable(TestData, rowHeaders = NULL)

#指定した行にリストを追加:hot_colコマンド
#hot_col(col = 行名, type = リスト型を指定, readOnly = NULL)
#typeオプション;numeric, date, checkbox, select, dropdown,
#               autocomplete, passwordが指定可能です。
#TEST行に"dropdown" , test行に"password"を指定
#TEST3列目をtest行にドラッグすると大文字のCが表示されます
rhandsontable(TestData, rowHeaders = NULL) %>%
  hot_col(col = "TEST", type = "dropdown") %>%
  hot_col(col = "TEST", type = "password")

#セルに色付け:hot_heatmapコマンド
#hot_heatmap(cols = 指定しなければ表全体が対象, 行を指定する場合は入力,
#            color_scale = c("最低値で使用する色", "最高値で使用する色"))
#データ例の作成
TestData2 <- data.frame(matrix(sample(1:100, replace = TRUE), 10, 10))
colnames(TestData2) <- LETTERS[1:10]

rhandsontable(TestData2) %>%
  hot_heatmap(cols = c(1, 3, 5, 7, 9), color_scale = c("#505457", "#deb7a0"))

#データ数が1万のテーブル  
TestData3 <- data.frame(matrix(sample(1:10000, replace = TRUE), 100, 100))
rhandsontable(TestData3) %>%
  hot_heatmap(color_scale = c("#505457", "#deb7a0"))

出力例

セルの内容変更や、ドラッグによるデータの更新などが可能です。なお、iOSでの閲覧は一部の機能が動作しないようです。
<オプション無しでテーブルを描写>

<指定した行にリストを追加:hot_colコマンド>
TEST3列目をtest行にドラッグすると大文字のCが表示されます

<セルに色付け:hot_heatmapコマンド>

<データ数が1万のテーブル>


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

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