SlideShare a Scribd company logo
シリーズRで可視化#1
ggplot2と
googleVisと
hwriterで
レポートを作る
           @dichika
みなさん
はじめまして
自己紹介
・ @dichika
・ 医療系
・ バターデニッシュ
さて
矢追純一から
UFO目撃情報の
  レポートを
  頼まれる、
そんな状況、
あると思います
UFO目撃情報
データベース
http://www.infochimps.com
さて、どうする?
相手は専門家
こっちは素人
まずは
ざっと概要をまとめて
相手の洞察を引き出す
今日は
 そんなつもりで
レポートを作りたい
  と思います
データは
以下の6項目
目撃した日付
報告した日付
UFOの形状
 目撃地域
 目撃時間
 詳細内容
都合上
3項目だけ使います
目撃した日付
報告した日付
UFOの形状
 目撃地域
 目撃時間
 詳細内容
実例
目撃した日付:2010/4/1
  UFOの形状:triangle
 目撃地域:Iowa City, IA
これを集計して
  可視化
データクリーニング
   および
   集計は
    略
(コードはどこかで公開します)
こんな結果に
   なります
(ggplot2使用)
目撃日付
150




        100
count




         50




              1950   1955   1960   1965   1970   1975   1980   1985   1990   1995   2000   2005   2010
                                                    year
UFOの形状
light

        triangle

          circle

            disk

           other
         unknown

          sphere

        fireball

            oval

       formation
form




           cigar

        changing

        cylinder

           flash

       rectangle

         diamond

         chevron

             egg

        teardrop

            cone



                   0   2000   4000           6000   8000   10000
                                     count
目撃地域
(トップ20)
California

            Washington

                 Texas

               Florida

              New York
               Arizona

              Illinois

          Pennsylvania

                  Ohio

              Michigan
state




                Oregon

        North Carolina

              Missouri

              Colorado

            New Jersey

               Indiana

               Georgia

         Massachusetts

             Wisconsin

              Virginia



                         0   1000   2000      3000   4000   5000   6000   7000
                                           count
人口が多いところは
 目撃数が多い
可能性があるので
   補正
Washington

                Oregon

               Arizona

              Colorado

            California
              Missouri

               Indiana

             Wisconsin

              Illinois

              Michigan
state




               Florida

                  Ohio

          Pennsylvania

         Massachusetts

        North Carolina

            New Jersey

                 Texas

              New York

              Virginia

               Georgia



                         0   10           20   30   40
                                  per100000
とりあえずこの結果を
 ちゃちゃっとWordとかに
貼り付けてコメントを書けば
   レポートにはなる
でも
それでいいのか
俺は
 矢追さんの洞察を
もっと引き出すべきで
   はないのか
洞察←操作性
矢追さんが
  グラフと向き合い
実際にいじってみることで
洞察を得られるようにする
そこで
googleVis
   +
 hwriter
という提案
googleVis
・ Google Visualization APIをRから
  使えるようにしたパッケージ
・ 出力はHTML
・ 16種類のグラフ
・ demo(googleVis)で内容確認
目撃日付
(gvisAnnotatedTimeline)
gvisAnnotatedTimeline関数
時系列の線グラフ
拡大縮小自由自在
gvisAnnotatedTimeline(
 data,    データフレーム

               日付の入った
 datevar,       変数を指定


 numvar,    数値の入った
            変数を指定

 date.format) 日付のフォー
                  マットを指定
UFOの形状
(gvisPieChart)
gvisPieChart関数

円グラフ
gvisPieChart(
 data,     データフレーム

                ラベルの入った
 labelvar,       変数を指定


 numvar) 変数を指定
             数値の入った
グループ分けすると
 (gvisTreeMap)
gvisTreeMap関数

入れ子になった構造を面積図で表現
gvisTreeMap(
 data,   データフレーム

              ラベルの入った変数を指定
 idvar,
                それぞれの親階層の入った
 parentvar,         変数を指定


 sizebar) 変数を指定
            数値の入った

※データ構造はRegionsデータを見るとわかりやすい
目撃地域
(gvisGeoMap)
gvisGeoMap関数

入れ子になった構造を面積図で表現
gvisGeoMap(
 data,    データフレーム
                   地域ラベルの入った
 locationvar,        変数を指定


 numvar) 変数を指定数値の入った

※地域を限定したい場合はoptionで指定(ヘルプ参照のこと)
これをレポートに
  まとめる
hwriter
・ HTML出力を楽にするパッケージ
・ hwriteが基本関数
・ example(hwriter)で説明書
hwrite関数
HTMLを出力する関数
画像にはhwriteImage関数

hwrite(x, page)
 x → 出力したいモノ
 page → 出力先
※出力先を指定しないとコンソールにHTMLが文字列として出力される
例えばこんな感じ
p <- openPage("report.html")
                charset="CP932")
hwrite("目撃日付", p, br=TRUE)
hwriteImage("year.png", p , br=TRUE)
closePage(p)
ファイルへの接続
                               +
                          文字コードの設定
                          (デフォルトはutf-8)


p <- openPage("report.html",
                charset="CP932")
hwrite("目撃日付", p, br=TRUE)
hwriteImage("year.png", p , br=TRUE)
closePage(p)
               接続を
               閉じる
p <- openPage("report.html")
                charset="CP932")
hwrite("目撃日付", p, br=TRUE)
hwriteImage("year.png", p , br=TRUE)
closePage(p)                      改行
                                オプション
googleVisの出力は
      HTML
       ↓
     今回は
インラインフレームで
    読み込む
path <- "C:/Users/dichika/hoge.html"

frame <- paste('<iframe src="', path, '
"frameborder="0" width="1200"
height="600" scrolling="no"></iframe>',
sep="")                          iframeタグ
                                 で挟んだ


hwrite(frame, p, br=TRUE)
組み合わせて
 出力すると
  こうなる
でも
できれば
矢追さんの洞察を
書き込めるように
 しておきたい
そこで
contenteditable
contenteditable
・ HTML5の仕様の一つ
・ contenteditable="true"とすると
  書き込み可能になる
・ こんな感じ
  <div contenteditable="true">この領域に書き込めます</div>
書き込める
ようになる
これでひとまずは
   完成
でも毎回
  ごちゃごちゃ
  指定するのは
めんどくさいですよね
めんどくさい時は
関数書きますよね
install.packages("batade")
library(batade)
mkhtml(
                ファイル名を指定
  filename,
  data)      レイアウト構造を
            指定したデータフレーム
レイアウト構造
本日のレポート                      LL

目撃日付                         L

AnnotatedTimeLineIDe41ecf.
htm                          L


ここにコメントを書き込めます               S


copyright batade             L
レイアウト構造
本日のレポート                      LL

目撃日付                         L

AnnotatedTimeLineIDe41ecf.
htm
 文字列、画像/HTMLファイル名を指定         L


ここにコメントを書き込めます               S


copyright batade             L
レイアウト構造
本日のレポート                             LL

目撃日付                                 L

AnnotatedTimeLineIDe41ecf.        文字サイズを指定
htm                                      L
                             (画像、HTMLの場合は無視される)
                                 S,M,L,LLの4サイズ


ここにコメントを書き込めます                       S


copyright batade                     L
こういう出力に
  なります
ということで
まとめ
・ ggplot2 → かませ犬
・ googleVis → 操作性のあるグラフ
・ hwriter → HTML出力
・ contenteditable → ブラウザ上で
  レポートが編集可能に
・ batedeライブラリ → 実在する
enjoy!

More Related Content

More from Daisuke Ichikawa

R25LT
R25LTR25LT
Tokyor20
Tokyor20Tokyor20
Tokyor17
Tokyor17Tokyor17
Tokyor16
Tokyor16Tokyor16
Saku110716
Saku110716Saku110716
Saku110716
Daisuke Ichikawa
 
Tokyo r11caret
Tokyo r11caretTokyo r11caret
Tokyo r11caret
Daisuke Ichikawa
 
ggplot2できれいなグラフ
ggplot2できれいなグラフggplot2できれいなグラフ
ggplot2できれいなグラフDaisuke Ichikawa
 

More from Daisuke Ichikawa (11)

Maeshori missing
Maeshori missingMaeshori missing
Maeshori missing
 
R25LT
R25LTR25LT
R25LT
 
Tokyor23
Tokyor23Tokyor23
Tokyor23
 
Tokyor20
Tokyor20Tokyor20
Tokyor20
 
Tokyor18
Tokyor18Tokyor18
Tokyor18
 
Tokyor17
Tokyor17Tokyor17
Tokyor17
 
Tokyor16
Tokyor16Tokyor16
Tokyor16
 
Saku110716
Saku110716Saku110716
Saku110716
 
世界のR(仮)
世界のR(仮)世界のR(仮)
世界のR(仮)
 
Tokyo r11caret
Tokyo r11caretTokyo r11caret
Tokyo r11caret
 
ggplot2できれいなグラフ
ggplot2できれいなグラフggplot2できれいなグラフ
ggplot2できれいなグラフ
 

Recently uploaded

FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 

Recently uploaded (14)

FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 

Tokyor15mod