Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
続・はじめてのShiny          2013/01/26          Tokyo.R#28            和田 計也サイバー系
サイバー系     はじめに    ※この発表は個人の見    解であり、所属する組    織の公式見解ではあり    ません。                     22013/01/26
サイバー系     自己紹介 u 和田 計也(@wdkz)        u 静岡県袋井市出身 u サイバー系企業でデータマイニングエンジニア職        u 最近は奥華子ばっか聴いてます u 前職はバイオベンチャー       ...
サイバー系     今日のお話   u Shinyとは?   u とりあえずShiny   u Shinyアプリの配布   u Shinyの実例                            42013/01/26
サイバー系     今日のお話   u Shinyとは?   u とりあえずShiny   u Shinyアプリの配布   u Shinyの実例                            52013/01/26
サイバー系     (いきなり脱線しますが)Mathematica 9が出ました   u シャイニングウィザードと発音するみたいです                                              62013/01/26
サイバー系     Mathematica 9が出ました   u        MathematicaからRを使うことで     ➡こんなインタラクティブなのが出来るみたいです!                                ...
サイバー系     Shiny   u        それ出来ます、そうShinyを使えばね         http://glimmer.rstudio.com/wdkz125/theWorld/                      ...
サイバー系     Shinyとは?   u        Shinyとは、インタラクティブなWebアプリをR             でチョー手軽に作れるRのライブラリ              Rとnode.jsをwebsocketsで繋...
サイバー系     ShinyかわいいよShiny   u        rApacheとかあったじゃん!?              だがあれはインタラクティブではない              それにrApacheの作者はもう飽きたらしい...
サイバー系     今日のお話   u Shinyとは?   u とりあえずShiny   u Shinyアプリの配布   u Shinyの実例                            112013/01/26
サイバー系     とりあえずShiny   u        さっきの再び出します   u        これを実際にやってみましょう                                      122013/01/26
サイバー系     Shinyでwebアプリを作る①   u        適当なフォルダを作成           今回の例では「01_plot」とした   u        その中に2個のファイルを作成             ⅰ)se...
サイバー系     Shinyでwebアプリを作る②   u        viewの作成はui.R  library(shiny)  shinyUI(pageWithSidebar(     headerPanel("Hello Shiny...
サイバー系     Shinyでwebアプリを作る③   u        view部分ui.Rの深入り_sidebar                                                  inputオブジェクト...
サイバー系     Shinyでwebアプリを作る④   u        logicの作成はserver.R  library(shiny)                               ui.Rで定義した、アウトプットの固有...
サイバー系     Shinyでwebアプリを起動する   u        カレントフォルダに01_plotフォルダ             があってその中にserver.Rとui.Rと             がある状態でRコンソールから...
サイバー系     今日のお話   u Shinyとは?   u とりあえずShiny   u Shinyアプリの配布   u Shinyの実例                            182013/01/26
サイバー系     Shinyアプリの配布方法_ローカル編   u        プログラムごと渡してローカルで起動してもらう             1.フォルダごとzipで固めて渡す。渡された人は解凍してR       起動してshiny...
サイバー系     3.OpenShiny.exeの紹介   u        @hoxo_mさんが.netで作った「Shinyをワンクリックで起動する             やつ」             配布方法:適当なフォルダに①「O...
サイバー系     Shinyアプリの配布方法_サーバ編   u        サーバにデプロイしてURLをみてもらう             4.rApacheに組み込んじゃう              無理                ...
サイバー系     5.RStudio.com運営shinyホスティングサービス   u        まああれだ、ホスティング用のアカウント発行したぜ!って             いうe-mailに書かれてる通りやればできる       ...
サイバー系     6.Shiny-serverについて                http://blog.rstudio.org/2012/12/04/shiny-update/                              ...
サイバー系     6.Shiny-server有償版についてわかっていること             とりあえず、有償版では何らかの認証ができたらいいな             って思ってるらしい                       ...
サイバー系     6.Shiny-serverのインストール   u        Shiny-severインストールに必要なもの         1. R.2.15.0以上         2. Rのshinyライブラリをユーザフォルダじ...
サイバー系     6.Shiny-serverの起動   u        以下のディレクトリに適当な名前のディレクトリ作成して             そこにui.Rとserver.Rとをコピって             /var/shi...
サイバー系     今日のお話   u shinyとは?   u とりあえずshiny   u shinyアプリの配布   u shinyの実例                            272013/01/26
サイバー系     shinyの実例デモ   u デモで使うデータはもちろんiris      irisに関する詳しい資料は以下を参照して下さい➡             「irisの正体 (R Advent Calendar 2012 6日...
サイバー系     shinyの利用例                 tabで                      いろいろ                          選べる                           ...
サイバー系     shinyの利用例                 summ                     aryの                         tabを                            ...
サイバー系     shinyの利用例             ここでデータのレンジを絞ると、下のグラフ中のデータポイント                            も変化する                            ...
サイバー系     shinyの利用例                 WebG                     L使って                         3次元p                            ...
サイバー系     shinyの利用例                 決定木                    選んで                       みたり                                  ...
サイバー系     shinyの利用例                 GLM選                     んでみ                         たり                               ...
サイバー系     shinyの利用例              サイド                 バーも             ックス     チェッ                 オンオ     クボ             変わ...
サイバー系     shinyのTips   u        staticなページ(タブ)を作りたい         HTML()関数でhtmlを直書きする   u        インタラクティブすぎる         submitBut...
サイバー系     shinyのここがイマイチ   u        日本語一切使えない。コメントにすら日本語が含まれると動かない   u        左にサイドバーパネル、右にグラフパネルという構図が固定             幅とか...
サイバー系     参考文献   u        shiny         https://github.com/rstudio/shiny/   u        shiny-server         https://github...
サイバー系     まとめ 1. シャイニングウィザードを紹介して 2. ついでにshinyも紹介して 3. shinyアプリの配布方法も紹介して 4. 最後にデモった                                      ...
Upcoming SlideShare
Loading in …5
×

はじめてのShiny

12,961 views

Published on

第28回Tokyo.Rでの発表資料です

Published in: Education

はじめてのShiny

  1. 1. 続・はじめてのShiny 2013/01/26 Tokyo.R#28 和田 計也サイバー系
  2. 2. サイバー系 はじめに ※この発表は個人の見 解であり、所属する組 織の公式見解ではあり ません。 22013/01/26
  3. 3. サイバー系 自己紹介 u 和田 計也(@wdkz) u 静岡県袋井市出身 u サイバー系企業でデータマイニングエンジニア職 u 最近は奥華子ばっか聴いてます u 前職はバイオベンチャー u バイオマーカ探索してた u 学生時代は枯草菌の研究 32013/01/26
  4. 4. サイバー系 今日のお話 u Shinyとは? u とりあえずShiny u Shinyアプリの配布 u Shinyの実例 42013/01/26
  5. 5. サイバー系 今日のお話 u Shinyとは? u とりあえずShiny u Shinyアプリの配布 u Shinyの実例 52013/01/26
  6. 6. サイバー系 (いきなり脱線しますが)Mathematica 9が出ました u シャイニングウィザードと発音するみたいです 62013/01/26
  7. 7. サイバー系 Mathematica 9が出ました u MathematicaからRを使うことで   ➡こんなインタラクティブなのが出来るみたいです! 72013/01/26
  8. 8. サイバー系 Shiny u それ出来ます、そうShinyを使えばね http://glimmer.rstudio.com/wdkz125/theWorld/ 82013/01/26
  9. 9. サイバー系 Shinyとは? u Shinyとは、インタラクティブなWebアプリをR でチョー手軽に作れるRのライブラリ Rとnode.jsをwebsocketsで繋いでる感じ u 2012年11月に初登場 u Joe Chengさん作 (RStudio Inc.) UseR!2012でwebsocketsの話してた人やー 92013/01/26
  10. 10. サイバー系 ShinyかわいいよShiny u rApacheとかあったじゃん!? だがあれはインタラクティブではない それにrApacheの作者はもう飽きたらしい すまん 飽きた UseR!2012でwebsocketsの話してた人やー 102013/01/26
  11. 11. サイバー系 今日のお話 u Shinyとは? u とりあえずShiny u Shinyアプリの配布 u Shinyの実例 112013/01/26
  12. 12. サイバー系 とりあえずShiny u さっきの再び出します u これを実際にやってみましょう 122013/01/26
  13. 13. サイバー系 Shinyでwebアプリを作る① u 適当なフォルダを作成   今回の例では「01_plot」とした u その中に2個のファイルを作成 ⅰ)server.R ⅱ)ui.R 上記2つのファイル名は必ず こうしなければいけない!! 132013/01/26
  14. 14. サイバー系 Shinyでwebアプリを作る② u viewの作成はui.R library(shiny) shinyUI(pageWithSidebar( headerPanel("Hello Shiny!"), sidebarPanel( numericInput("obs", "Number of points:", 1000), sliderInput("mean", "Mean:", min=-100, max=100, value=0), sliderInput("sd", "Standard Deviation:", min=0, max=100, value=1) ), viewは3つからなる mainPanel( ⅰ)ヘッダー・・・タイトル plotOutput("distPlot") ⅱ)サイドバー・・・インプットのとこ ) ⅲ)メイン・・・アウトプットのとこ )) 142013/01/26
  15. 15. サイバー系 Shinyでwebアプリを作る③ u view部分ui.Rの深入り_sidebar inputオブジェクトには固有の名前をつけておく sidebarPanel( (server.Rから入力値を取得するのに使う) numericInput("obs", "Number of points:", 1000), sliderInput("mean", "Mean:", min=-100, max=100, value=0), sliderInput("sd", "Standard Deviation:", min=0, max=100, value=1) ), サイドバーは、 Inputを書き足すこと でどんどん増やせる。 Inputに何があ るかはCRAN上のShinyのReference Manual等を見るとわかる 152013/01/26
  16. 16. サイバー系 Shinyでwebアプリを作る④ u logicの作成はserver.R library(shiny) ui.Rで定義した、アウトプットの固有名 shinyServer(function(input, output) { output$distPlot <- reactivePlot(function() { dist <- rnorm(input$obs, mean=input$mean, ui.Rで定義した、インプットの固有名を sd=input$sd) 使うことで値を取得できる hist(dist, prob=TRUE) lines(density(dist, adjust=2), lty="dotted", col="blue") }) }) メインパネルは、server.R内で reactive 関数をオーバーライドするこ とでinteractiveな描写ができるようにな る。reactive 関数に何があるかは Reference Manual等を見るとわかる 162013/01/26
  17. 17. サイバー系 Shinyでwebアプリを起動する u カレントフォルダに01_plotフォルダ があってその中にserver.Rとui.Rと がある状態でRコンソールから > library(shiny) > runApp(“01_plot”) Listening on port 8100 デフォルトブラウザが起動 172013/01/26
  18. 18. サイバー系 今日のお話 u Shinyとは? u とりあえずShiny u Shinyアプリの配布 u Shinyの実例 182013/01/26
  19. 19. サイバー系 Shinyアプリの配布方法_ローカル編 u プログラムごと渡してローカルで起動してもらう 1.フォルダごとzipで固めて渡す。渡された人は解凍してR     起動してshiny::runApp( hogehoge )する     利点:最も汎用性高い 欠点:ITリテラシーの高くない人に、Rを起動してrunApp してもらうことの絶望感 2.Gistにコードを上げて shiny::runGist( hogehoge )してもらう      利点:URLを教えるだけでいいのが楽  欠点:社外秘情報を含むものには使えないし、1同様 3.@hoxo_mさん作成のOpenShiny.exeを使う 利点:ITリテラシーに関係なく使ってもらえそう 欠点:Winマシン限定。exeファイルを配布するというドキドキ感 192013/01/26
  20. 20. サイバー系 3.OpenShiny.exeの紹介 u @hoxo_mさんが.netで作った「Shinyをワンクリックで起動する やつ」 配布方法:適当なフォルダに①「OpenShiny.exe」        ②「server.R」③「ui.R」を置いてフォルダごと配布    使用方法:もらった人はOpenShiny.exeをクリックするだけ!! フォルダ名は 適当なのつけてね 202013/01/26
  21. 21. サイバー系 Shinyアプリの配布方法_サーバ編 u サーバにデプロイしてURLをみてもらう 4.rApacheに組み込んじゃう 無理 即答   5.Shinyホスティングサービス(RStudio.com運営)を使う 楽 β版だからいつ止まっても(有償化しても)おかしくない 社外秘情報を含むものには使えない 6.Shiny-serverを使ってデプロイ ちょい面倒だけど社内で使うならこれかな 212013/01/26
  22. 22. サイバー系 5.RStudio.com運営shinyホスティングサービス u まああれだ、ホスティング用のアカウント発行したぜ!って いうe-mailに書かれてる通りやればできる 1.sshでログインして 2.自分のホームに /ShinyApp/ディレクトリ作って 3.そこに適当なディレクトリ(例えばtheWorld)作って 4.scpでそこにui.Rとserver.Rをアップロード http://glimmer.rstudio.com/wdkz125/theWorld/ ディレクトリ名 ユーザ名 222013/01/26
  23. 23. サイバー系 6.Shiny-serverについて http://blog.rstudio.org/2012/12/04/shiny-update/ とりあえずlinux で動くけどwinと かmacosxで動 かないよ オープンソースに してみたよ!! 有償版も考えてるらしい 232013/01/26
  24. 24. サイバー系 6.Shiny-server有償版についてわかっていること とりあえず、有償版では何らかの認証ができたらいいな って思ってるらしい 242013/01/26
  25. 25. サイバー系 6.Shiny-serverのインストール u Shiny-severインストールに必要なもの 1. R.2.15.0以上 2. Rのshinyライブラリをユーザフォルダじゃないところに インストール 3. node.js 0.8.16以上 ubuntuの場合              sudo  apt-­‐get  install  python-­‐software-­‐properties  python  g++                make              sudo  add-­‐apt-­‐repository  ppa:chris-­‐lea/node.js              sudo  apt-­‐get  update              sudo  apt-­‐get  install  nodejs  npm u Shiny-severのインストール        sudo  npm  install  -­‐g  shiny-­‐server        sudo  useradd  -­‐r  shiny        sudo  mkdir  -­‐p  /var/shiny-­‐server/www        sudo  mkdir  -­‐p  /var/shiny-­‐server/log 252013/01/26
  26. 26. サイバー系 6.Shiny-serverの起動 u 以下のディレクトリに適当な名前のディレクトリ作成して そこにui.Rとserver.Rとをコピって /var/shiny-server/www/AppName u 起動  sudo shiny-server u ブラウザからアクセス http://<hostname>:3838/AppName 262013/01/26
  27. 27. サイバー系 今日のお話 u shinyとは? u とりあえずshiny u shinyアプリの配布 u shinyの実例 272013/01/26
  28. 28. サイバー系 shinyの実例デモ u デモで使うデータはもちろんiris    irisに関する詳しい資料は以下を参照して下さい➡ 「irisの正体 (R Advent Calendar 2012 6日目)」 http://d.hatena.ne.jp/tsutatsutatsuta/20121206/1354737461 282013/01/26
  29. 29. サイバー系 shinyの利用例 tabで いろいろ 選べる 292013/01/26
  30. 30. サイバー系 shinyの利用例 summ aryの tabを 選択す ると もっと下のほうにsummary結果も出てるんだけど、見えんな 302013/01/26
  31. 31. サイバー系 shinyの利用例 ここでデータのレンジを絞ると、下のグラフ中のデータポイント も変化する 312013/01/26
  32. 32. サイバー系 shinyの利用例 WebG L使って 3次元p lotも出 来る 322013/01/26
  33. 33. サイバー系 shinyの利用例 決定木 選んで みたり 332013/01/26
  34. 34. サイバー系 shinyの利用例 GLM選 んでみ たり 342013/01/26
  35. 35. サイバー系 shinyの利用例 サイド バーも ックス チェッ オンオ クボ 変わる フで動 よ 的に 352013/01/26
  36. 36. サイバー系 shinyのTips u staticなページ(タブ)を作りたい HTML()関数でhtmlを直書きする u インタラクティブすぎる submitButtonを配置すれば、ボタン押すまで反映しない u サイドバーパネルもインタラクティブにしたい conditionalPanelを使う conditionalPanel(condition= input.@@=true ,,,) u サイドバーパネルをもっとインタラクティブにしたい ui.R中はuiOutput("rice") みたいにしておいてserver.Rで output$rice <- reactiveUI(function(){ selectInput( gets , dandy , choice=1:10, selected=1) }) ってすればいい。↑ここでinputの値取得して条件分岐とかバリバリ書く 362013/01/26
  37. 37. サイバー系 shinyのここがイマイチ u 日本語一切使えない。コメントにすら日本語が含まれると動かない u 左にサイドバーパネル、右にグラフパネルという構図が固定 幅とか変えたいのに.... u レンジスライダーのレンジを保持して左右に動いて欲しい u レンジスライダー、キーボードの矢印で操作できない u レンジスライダーにintegerの値しか使えない u submitButtonをcheckboxで出したり消したりしたい 372013/01/26
  38. 38. サイバー系 参考文献 u shiny https://github.com/rstudio/shiny/ u shiny-server https://github.com/rstudio/shiny-server u tutorial http://rstudio.github.com/shiny/tutorial/ u google group https://groups.google.com/forum/?fromgroups#!forum/shiny-discuss u shinyでrglを使う https://github.com/trestletech/shiny-sandbox/tree/master/rgl u hoxo_mさんのShinyアプリをワンクリックで起動するやつ http://d.hatena.ne.jp/hoxo_m/20121122/p1 u バタデ先生の、みんなでシャイニイイイイイイイイイイイイイイイ http://d.hatena.ne.jp/dichika/touch/20130118/1358470135 382013/01/26
  39. 39. サイバー系 まとめ 1. シャイニングウィザードを紹介して 2. ついでにshinyも紹介して 3. shinyアプリの配布方法も紹介して 4. 最後にデモった        392013/01/26

×