Rでウェブ解析:JavaScripのDataTablesがRから作成できます!「DTパッケージ」の紹介
公開日: Rとアクセス解析に役に立つ記事 R, アニメキャラクターの髪の色, ウェブ解析
ウェブ制作に関わる方にもぜひ使用していただきたい「DTパッケージ」が登場しました。Rは統計解析に利用できるだけではありません、Rから直接GoogleAnalyticsやTwitterのデータも取得することもできます。この機会にぜひRを試してみてください。
紹介するパッケージは、JavaScripのDataTablesを利用してソートなどが可能なテーブルをHTMLで出力することができるパッケージです。もちろん、CSSでデザインを指定することもできます。
機能が非常に多いパッケージです。日常的に使いそうな機能を紹介します。出力例はiframeでリンクしています。グリグリ触ってみてください。動作はwindows/MacのChrome(バージョン 43.0.2357.124)とiOSのSafariで確認しています。
他の機能は、英語ですが下記オフィシャルHPをご覧ください。
DT: An R interface to the DataTables library
http://rstudio.github.io/DT/
「使ってみたいけど、Rってなにさ?」な方はこちらの記事をご覧ください。
Rのガイド:研究者も、社会人も、おねえさんも。とりあえず、みんなで使ってみませんか?
紹介パッケージのバージョンは0.1です。
パッケージのインストール
下記コマンドをRで実行してください。
#パッケージのインストール
install.packages("DT")
実行コマンドと出力の紹介
詳細はコマンド内のコメントを確認してください。
<パッケージを読み込みます>
#パッケージの読み込み
library("DT")
library("tcltk")
<HTMLファイルの保存場所を指定します>
##HTMLファイルの保存場所を指定## setwd(paste(as.character(tkchooseDirectory(title = "保存場所を選択"), sep = "", collapse ="")))
<データ例を作成します>
#データ例を作成
TestData <- data.frame(Group = paste0("TEST", 1:100),
Data1 = sample(1:500, 100),
Data2 = sample(200:300, 100))
<基本的な使用方法>
##データからテーブルを作成##
#行名:colnamesオプションで指定します
TestHTML1 <- datatable(TestData, rownames = FALSE,
caption = "Table: テスト")
#作成テーブルをhtmlで出力
saveWidget(TestHTML1, "TestHTML1.html")
####
出力例
・データからテーブルを作成
<テーブルのカスタマイズ方法>
##カスタムフィルタを設定##
#filterとoptionsで設定します
#optionsはlistで設定します
TestHTML2 <- datatable(TestData, rownames = FALSE,
caption = "Table: テスト", filter = "top",
options = list(
Data1 = 100, autoWidth = TRUE
))
#作成テーブルをhtmlで出力
saveWidget(TestHTML2, "TestHTML2.html")
####
##ハイパーリンクを含むテキストを設定##
#matrixコマンドでデータを作成
#新しいウィンドウが開きます
TESTURL <- matrix(c('<p>からだにいいもの</p>', '<a href="http://karada-good.net" target="_blank">karada-good.net</a>'), 1)
#行名の設定
colnames(TESTURL) = c('<span style="color:blue">ブログ名</span>', '<em>クリックしてね</em>')
#escapeオプションにFALSEを設定します
TestHTML3 <- datatable(TESTURL, rownames = FALSE,
caption = "Table: テスト", escape = FALSE)
#作成テーブルをhtmlで出力
saveWidget(TestHTML3, "TestHTML3.html")
####
##テーブルの表示列数と表示列メニューの指定##
#optionsオプションにリストでpageLengthとlengthMenuで指定します
#初期に表示される列数はpageLengthで3に設定しています
TestHTML4 <- datatable(TestData, rownames = FALSE,
caption = "Table: テスト",
options = list(pageLength = 3, lengthMenu = c(6, 12, 18, 24)))
#作成テーブルをhtmlで出力
saveWidget(TestHTML4, "TestHTML4.html")
####
##セルの表示書式を設定##
#パイプ"%>%"でつなげて設定します
TestHTML5 <- TestHTML1 %>% formatCurrency("Data1") %>% formatPercentage("Data2", 2)
#作成テーブルをhtmlで出力
saveWidget(TestHTML5, "TestHTML5.html")
####
##セルの背景色と文字色を設定##
#パイプ"%>%"でつなげてformatStyleで設定します
#背景色はstyleIntervalオプションを使用しています
#styleInterval(数値, c(数値以下のセルの色, 数値以上のセルの色))
#例ではData1には"例のヒモ"と"栗山未来の髪"の色です
#Data2の色が気になる方はこちらの参考記事:http://www.karada-good.net/analyticsr/r-83/
TestHTML6 <- TestHTML1 %>% formatStyle("Data1",
color = "#a87963",
backgroundColor = styleInterval(250, c("#4b61ba", "#deb7a0")),
fontWeight = "bold") %>%
formatStyle("Data2",
color = "#28231e",
backgroundColor = styleInterval(260, c("#ffdd99", "#a87963")),
fontWeight = "bold")
#作成テーブルをhtmlで出力
saveWidget(TestHTML6, "TestHTML6.html")
####
##CSSで書式を設定##
#パイプ"%>%"でつなげてformatStyleで設定します
TestHTML7 <- TestHTML1 %>% formatStyle("Data1",
transform = "rotateX(45deg) rotateY(20deg) rotateZ(30deg)",
backgroundColor = "#a87963")
#作成テーブルをhtmlで出力
saveWidget(TestHTML7, "TestHTML7.html")
####
出力例
・カスタムフィルタを設定
・ハイパーリンクを含むテキストを設定(URLをクリックすると「からだにいいもの」のTOPが新しいウィンドウで表示されます。)
・テーブルの表示列数と表示列メニューの指定
・セルの表示書式を設定
・セルの背景色と文字色を設定
・CSSで書式を設定
<テーブルのレスポンシブ>
##選択したセルを枠で囲む##
#extensionsオプションに"KeyTable"
TestHTML8 <- datatable(TestData, rownames = FALSE,
caption = "Table: テスト", extensions = "KeyTable")
#作成テーブルをhtmlで出力
saveWidget(TestHTML8, "TestHTML8.html")
####
##テーブルの表示幅により列をカプセル化##
#PCとモバイルで見え方が違います
#extensionsオプションに"Responsive"
TestHTML9 <- datatable(TestData, rownames = FALSE,
caption = "Table: テスト", extensions = "Responsive")
#作成テーブルをhtmlで出力
saveWidget(TestHTML9, "TestHTML9.html")
####
##テーブルのスクロール##
#extensionsオプションに"Scroller"とoptionsにリストで設定
TestHTML10 <- datatable(TestData, rownames = FALSE,
caption = "Table: テスト", extensions = "Scroller",
options = list(deferRender = TRUE,
dom = "frtiS",
scrollY = 300,
scrollCollapse = TRUE
))
#作成テーブルをhtmlで出力
saveWidget(TestHTML10, "TestHTML10.html")
####
出力例
・選択したセルを枠で囲む
・テーブルの表示幅により列をカプセル化
・テーブルのスクロール
少しでも、あなたのウェブや実験の解析が楽になりますように!!
スポンサードリンク
関連記事
-
-
Rでウェブ解析:NA値取り扱いコマンドの紹介
データの整理で必須のNA値取り扱いコマンドの紹介を紹介します。 コマンドの紹介 内容はコ
-
-
Rとウェブ解析:レーダーチャートが作成できるfmsbのご紹介
Rによる保健医療データ解析演習という本で紹介されていますが、レーダーチャートの作成に便利なfmsbパ
-
-
Rとウェブ解析:t検定のコマンドを紹介
t検定はよく使われる手法だと思います。多重検定に使う場合はBonferroniの補正(繰り返し回数を
-
-
Rでウェブ解析:繰り返し処理が簡単!apply関数の紹介
繰り返し処理のコマンドにapply関数があります。ベクトル、マトリックス、データフレームに対して処理
-
-
Rでウェブ解析:いろいろなファイルを読み込み、書き出しができます。「rio」パッケージ
RでSASやエクセル、CSV、クリップボードからデータを読み込み、目的のファイルフォーマットでデータ
-
-
Rで解析:SNPの解析結果をサークルプロット・マンハッタンプロット!「CMplot」パッケージの紹介。
アレイによる網羅的なmRNA発現解析は集団を対象にすることで多くの発見をもたらしました。今、一塩基多
-
-
Rとウェブ解析:視覚でデータマイニング!密度もわかるbeanplotを作成「beanplotパッケージ」
密度がわかるbeanplotを描写できるbeanplotパッケージを紹介します。データの密度を確認せ
-
-
Rとウェブ解析:募集中!Rで困ったこと
おかげさまで、Rとウェブ解析に関する記事へのアクセスが日々増えてきています。ありがとうございます。
-
-
Rでウェブ解析:Rの基本統計処理のコマンド
簡単ではありますが、ウェブ解析で頻繁に使うRの基本統計処理のコマンドをご紹介します。
-
-
Rで遺伝子解析:RからDAVIDデータベースが利用できます。Bubbleプロットもらくらく「BACA」パッケージの紹介
National Institute of Allergy and Infectious Disea