*

Pocket

Rでウェブ解析:JavaScripのDataTablesがRから作成できます!「DTパッケージ」の紹介

ウェブ制作に関わる方にもぜひ使用していただきたい「DTパッケージ」が登場しました。Rは統計解析に利用できるだけではありません、Rから直接GoogleAnalyticsTwitterのデータも取得することもできます。この機会にぜひ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")
####



出力例
・選択したセルを枠で囲む




・テーブルの表示幅により列をカプセル化




・テーブルのスクロール


少しでも、あなたのウェブや実験の解析が楽になりますように!!

Pocket

スポンサードリンク


関連記事

スクリーンショット 2015-02-08 14.50.20

Rでウェブ解析:NA値取り扱いコマンドの紹介

データの整理で必須のNA値取り扱いコマンドの紹介を紹介します。 コマンドの紹介 内容はコ

radarchart

Rとウェブ解析:レーダーチャートが作成できるfmsbのご紹介

Rによる保健医療データ解析演習という本で紹介されていますが、レーダーチャートの作成に便利なfmsbパ

スクリーンショット 2014-12-01 7.49.02

Rとウェブ解析:t検定のコマンドを紹介

t検定はよく使われる手法だと思います。多重検定に使う場合はBonferroniの補正(繰り返し回数を

スクリーンショット 2015-02-07 15.18.57

Rでウェブ解析:繰り返し処理が簡単!apply関数の紹介

繰り返し処理のコマンドにapply関数があります。ベクトル、マトリックス、データフレームに対して処理

スクリーンショット 2015-05-08 5.58.11

Rでウェブ解析:いろいろなファイルを読み込み、書き出しができます。「rio」パッケージ

RでSASやエクセル、CSV、クリップボードからデータを読み込み、目的のファイルフォーマットでデータ

Manhattan-Plot.circle

Rで解析:SNPの解析結果をサークルプロット・マンハッタンプロット!「CMplot」パッケージの紹介。

アレイによる網羅的なmRNA発現解析は集団を対象にすることで多くの発見をもたらしました。今、一塩基多

BeanPlot

Rとウェブ解析:視覚でデータマイニング!密度もわかるbeanplotを作成「beanplotパッケージ」

密度がわかるbeanplotを描写できるbeanplotパッケージを紹介します。データの密度を確認せ

80px-Rlogo

Rとウェブ解析:募集中!Rで困ったこと

おかげさまで、Rとウェブ解析に関する記事へのアクセスが日々増えてきています。ありがとうございます。

80px-Rlogo

Rでウェブ解析:Rの基本統計処理のコマンド

簡単ではありますが、ウェブ解析で頻繁に使うRの基本統計処理のコマンドをご紹介します。

Rplot

Rで遺伝子解析:RからDAVIDデータベースが利用できます。Bubbleプロットもらくらく「BACA」パッケージの紹介

National Institute of Allergy and Infectious Disea

PAGE TOP ↑