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)
########

#&#12458;&#12503;&#12471;&#12519;&#12531;&#28961;&#12375;&#12391;&#12486;&#12540;&#12502;&#12523;&#12434;&#25551;&#20889;:rhandsontable&#12467;&#12510;&#12531;&#12489;
rhandsontable(TestData, rowHeaders = NULL)

#&#25351;&#23450;&#12375;&#12383;&#34892;&#12395;&#12522;&#12473;&#12488;&#12434;&#36861;&#21152;:hot_col&#12467;&#12510;&#12531;&#12489;
#hot_col(col = &#34892;&#21517;, type = &#12522;&#12473;&#12488;&#22411;&#12434;&#25351;&#23450;, readOnly = NULL)
#type&#12458;&#12503;&#12471;&#12519;&#12531;;numeric, date, checkbox, select, dropdown,
#               autocomplete, password&#12364;&#25351;&#23450;&#21487;&#33021;&#12391;&#12377;&#12290;
#TEST&#34892;&#12395;"dropdown" , test&#34892;&#12395;"password"&#12434;&#25351;&#23450;
#TEST3&#21015;&#30446;&#12434;test&#34892;&#12395;&#12489;&#12521;&#12483;&#12464;&#12377;&#12427;&#12392;&#22823;&#25991;&#23383;&#12398;C&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;
rhandsontable(TestData, rowHeaders = NULL) %>%
  hot_col(col = "TEST", type = "dropdown") %>%
  hot_col(col = "TEST", type = "password")

#&#12475;&#12523;&#12395;&#33394;&#20184;&#12369;:hot_heatmap&#12467;&#12510;&#12531;&#12489;
#hot_heatmap(cols = &#25351;&#23450;&#12375;&#12394;&#12369;&#12428;&#12400;&#34920;&#20840;&#20307;&#12364;&#23550;&#35937;, &#34892;&#12434;&#25351;&#23450;&#12377;&#12427;&#22580;&#21512;&#12399;&#20837;&#21147;,
#            color_scale = c("&#26368;&#20302;&#20516;&#12391;&#20351;&#29992;&#12377;&#12427;&#33394;", "&#26368;&#39640;&#20516;&#12391;&#20351;&#29992;&#12377;&#12427;&#33394;"))
#&#12487;&#12540;&#12479;&#20363;&#12398;&#20316;&#25104;
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"))

#&#12487;&#12540;&#12479;&#25968;&#12364;1&#19975;&#12398;&#12486;&#12540;&#12502;&#12523;  
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をコピーしました