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