Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

そろそろRStudioの話

47 606 vues

Publié le

第25回東京R勉強会の発表資料です

Publié dans : Formation
  • Soyez le premier à commenter

そろそろRStudioの話

  1. 1. そろそろRStudioの話でもしてみようと思う 2012/08/04 Tokyo.R#25 和田 計也サイバー系
  2. 2. サイバー系 はじめに ※この発表は個人の 見解であり、所属す る組織の公式見解で はありません。2012/8/4 1
  3. 3. サイバー系 自己紹介  和田 計也(@wdkz)  静岡県袋井市出身  サイバー系企業でデータマイニングエンジニア職  最近はレポーティング周りの仕事してます  前職はバイオベンチャー  バイオマーカ探索してた  学生時代は枯草菌の研究2012/8/4 2
  4. 4. サイバー系 私はこうしてRStudioに乗り換えました  従来  エディタ(EmEditor) + RGUI featuring コピペ  現在  RStudio  乗り換えた理由  括弧補完してくれたり、オブジェクトの一覧が表示され てるから迷子にならないし、data.frameの中を手軽に 見れるし、plot図何枚も保持してくれてるし...  Rmarkdownで記述してknitrでknit htmlして簡単にレポーティングできるから2012/8/4 3
  5. 5. サイバー系 今日お伝えしたいこと 1. RStudio使いましょう! 2. R Markdownでコード保存しましょう! 3. knitrのknit HTMLでレポーティングしましょう!2012/8/4 4
  6. 6. サイバー系 今日のお話 1. RStudioについて 2. R markdownとかknitrとかについて 3. チュートリアル2012/8/4 5
  7. 7. サイバー系 今日のお話 1. RStudioについて 2. R markdownとかknitrとかについて 3. チュートリアル2012/8/4 6
  8. 8. サイバー系 RStudioとは?  RのIDE(Integrated Development Environment)です  サイト  http://rstudio.org/  スクショ→2012/8/4 7
  9. 9. サイバー系 Desktop版とServer版とあります  Desktop版  Server版 ・誰かがセットアップして くれたら、みんな使える! ・みんなでコードを共有で きる! ・linuxでしか使えない libraryも使える! XML, RApache ...2012/8/4 8
  10. 10. サイバー系 インストール_どっちか選んでね  Desktop版  自分の使ってるOS用のバイナリ落としてダブルクリック  Server版(のUbuntu版) sudo apt-get install r-base sudo apt-get install libssl0.9.8 http://rstudio.org/download/desktop sudo apt-get install libapparmor1 apparmor-utils wget http://download2.rstudio.org/rstudio-server-0.96.316- amd64.deb sudo dpkg -i rstudio-server-0.96.316-amd64.deb *RedHat/CentOSでもrpmでインストールできるよ。 でもRのバージョンは新し目のにしてね! http://rstudio.org/download/server2012/8/4 9
  11. 11. サイバー系 RStudioを起動してみる  Desktop版  アイコンをダブルクリック  Server版  ブラウザでhttp://xxx.xxx.xxx.xxx:8787 ログイン画面 Firefox, Safari, Chrome以外のブラウザだと 以下の表示が出て使えない *ログインには、RStudioがインストールされたサーバのuserとpasswordを使う。 LDAPアカウントを使用する場合は後述。2012/8/4 10
  12. 12. サイバー系 RStudio 画面_  Desktop版, Server版どちらでも同じです。 「Tool」→「Options」 Workspaceとか で画面割は設定できます Source FilesとかPlotsとか Console2012/8/4 11
  13. 13. サイバー系 RStudio_右上のとこ  Projectを選べるので便利です。 rm(list=ls()); setwd(“~/hogehoge/Prj3”) とかってやんなくていいから、 さくさく切り替えられます。 これ2012/8/4 12
  14. 14. サイバー系 RStudio_Sourceパネル  Sourceの種類を選べるが有無を言わずR Markdown形式 を選ぶ。(Markdownについては後述) これ2012/8/4 13
  15. 15. サイバー系 RStudio_Sourceパネル  左下の クリックすると関数一覧が出現して、選択するこ とで関数にjumpできます。 これ2012/8/4 14
  16. 16. サイバー系 RStudio_Sourceパネル  ソース中で実行したいところを選択してRunボタン押すと 瞬時にConsoleにソースが転送されて実行されます ②Runボタン ①ここら辺のソースを 選択して2012/8/4 15
  17. 17. サイバー系 RStudio_Workspaceパネル  オブジェクト一覧が出てる(Consoleでls()したものと、 その中見がなんとなくわかるようなのが常に表示されて るのはありがたい) 例えばこれ クリックすると 中見が手軽に見れます2012/8/4 16
  18. 18. サイバー系 RStudio_FilesとかPlotsとか  デフォで右下のパネル  Plotsはplot()の内容が表示される。 矢印ボタンで過去にplotした図に 戻れるしZoomとかExportとか 駆使して好きなサイズの絵で保存 できる。  ?で出てくるHelpもここに出る。 helpはちょい見辛いかな  Filesはdir()の内容が表示されてる。 Server版はUpload機能もあり わざわざscpとかしなくていいから便利2012/8/4 17
  19. 19. サイバー系 (おまけ)RStudio Server特有の話  LDAP権限でログインしたい $sudo vi /etc/pam.d/rstudio #%PAM-1.0 auth requisite pam_succeed_if.so uid >= 500 quiet #追記 #auth required pam_unix.so nodelay #コメントアウト #account required pam_unix.so #コメントアウト auth required pam_ldap.so #追記 account required pam_ldap.so #追記2012/8/4 18
  20. 20. サイバー系 (おまけ)RStudio Server特有の話  使用するR本体を指定したい $sudo vi /etc/rstudio/rserver.conf rsession-which-r=/usr/lib64/R/bin/R ↑ここで使いたいVersionのRの場所を指定  利用するメモリ量を増やしたい(デフォルトは2G byte) $sudo vi /etc/rstudio/rserver.conf rsession-memory-limit-mb=24000 #再起動 $sudo /usr/lib/rstudio-server/bin/rstudio-server restart *ここら辺に載ってます http://rstudio.org/docs/server/configuration2012/8/4 19
  21. 21. サイバー系 今日のお話 1. RStudioについて 2. R markdownとかknitrとかについて 3. チュートリアル2012/8/4 20
  22. 22. サイバー系 Knitrとは? knitr ≈ Sweave + cacheSweave + pgfSweave + weaver + animation::saveLatex + R2HTML::RweaveHTML + highlight::HighlightWeaveLatex + 0.2 * brew + 0.1 * SweaveListingUtils /) + more ///) /,.=゙"/ / i f ,.r="-‐つ____ こまけぇこたぁいいんだよ!! / / _,.-‐~/⌒ ⌒\ / ,i ,二ニ⊃( ●). (●)\ 激しく優秀な / ノ il゙フ::::::⌒(__人__)⌒::::: \ レポーティング ,イ「ト、 ,!,!| |r┬-| | ツール in R / iトヾヽ_/ィ"\ `ー´ /2012/8/4 21
  23. 23. サイバー系 ちなみにKnitrを作った人、Yihui Xie Rでマインスイーパ できるライブラリ も作ってる! library(fun); mine_sweeper(width = 10, height = 10, mines = 20, text.cex = 2, cheat = FALSE, seed = NULL)2012/8/4 22
  24. 24. サイバー系 Reproducible Researchを心懸けるには 1. 「Reproducible Research」=「再現可能な研究」 データ解析の手順(コード)と結果が一つのファイル内でまと まってるとHappy 参考)RでReproducible Research by @sfchaosさん 2. 簡単な実現方法 RStudioでコーディングして、ソースをR Markdown形式 で保存 ↓↓↓↓↓↓↓↓ ↓↓↓↓↓↓↓↓ knit HTMLによりhtml形式で出力 *Markdown・・・軽量マークアップ言語のひとつである。「読みやすく書きやす いプレーンテキストで書け、そして構造的に妥当なXHTML(もしくはHTML)に 変換することのできるフォーマット」として、John GruberとAaron Swartzに よって考案された。 wikipediaより2012/8/4 23
  25. 25. サイバー系 R Markdown記法例 ### 初めてのR Markdown レポートのタイトル ```{r} plot(1:10) ここの間にRのコードを書く ``` 記法の詳細は[ここ ](http://www.rstudio.org/docs/authoring/using_markdown)を見てね こんな風に、リンクを貼れたりもできる2012/8/4 24
  26. 26. サイバー系 R MarkdownのFAQ 1. warningがウザすぎてレポートが見辛い ‘’’{r, warning=FALSE} 2. Rのコードがレポートに無いほうがいい(結果のみがいい) ‘’’{r, echo=FALSE} 3. ggplot2で出力したはずの図が無い print(qplot(1:10)) 4. for文の中でplot(もしくはggplot)を何度か呼び出したはず なのに1枚の図しか出力されてない ```{r, fig.keep=‘all’}2012/8/4 25
  27. 27. サイバー系 R MarkdownのFAQ_Table編 1. data.frameをhtmlのtableみたいに表示させたい この場合はhwriter::hwrite()関数かxtable::xtable()関数がいいと思い ます。 ‘’’{r, results=‘asis’} print(xtable::xtable(iris), type=‘html’) ``` 2. テーブル中の値を左寄せ、もしくは右寄せにしたい xt <- xtable::xtable(iris) xtable::align(xt) <- rep("l", ncol(iris) + 1) print(xt, type="html") 3. テーブルの枠が表示されない これはcssを設定しなければいけません →次ページへ2012/8/4 26
  28. 28. サイバー系 R MarkdownのFAQ_Table編_枠表示編 テーブルの枠が表示されない デフォルトのmarkdown.cssのせいで表示されません。 Winの場合、C:¥Program Files¥RStudio¥resources¥markdown.css Linuxの場合、/usr/lib/rstudio-server/resources/markdown.css body, td { body { font-family: sans-serif; font-family: sans-serif; background-color: background-color: white; white; font-size: 12px; font-size: 12px; 書き換える margin: 8px; margin: 8px; } } td { : font-family: sans-serif; : font-size: 12px; table, td, th { margin: 8px; border: none; } } : : table, td, th { もしくは別ファイルでcss保存しておいて border: solid; options(rstudio.markdownToHTML = } function(inputFile, outputFile) { require(markdown) markdownToHTML(file=inputFile, output=outputFile, stylesheet=my.css) } )2012/8/4 27
  29. 29. サイバー系 (参考)Knit HTMLボタン押した時にやられていること 1. knit関数でRmdファイル→mdファイル作成 require(knitr) knit(input=‘sample.Rmd’, output=‘sample.md’) 2. markdownToHTML関数でmdファイル→htmlファイル 作成 require(markdown) markdownToHTML(file=‘sample.md’, output=‘sample.html’) 3. browseURL関数でブラウザ起動 utils::browseURL(paste(file://, file.path(getwd(),‘sample.html), sep=))2012/8/4 28
  30. 30. サイバー系 今日のお話 1. RStudioについて 2. R markdownとかknitrとかについて 3. チュートリアル2012/8/4 29
  31. 31. サイバー系 Knit HTMLを実行  ソース書き上がったら「Knit HTML」ボタンを押す2012/8/4 30
  32. 32. サイバー系 Knit HTML実行中...  暫く待つ2012/8/4 31
  33. 33. サイバー系 Knit HTML実行結果  内蔵ブラウザでレポートが表示される! htmlでsaveするかRPubsにpublishするか選びましょう! htmlの保存 ブラウザへ RPUBへ2012/8/4 32
  34. 34. サイバー系 RPubへpublish  http://rpubs.com/wdkz/1076 コード及び結果はURL リンク先を見て下さい2012/8/4 33
  35. 35. サイバー系 チュートリアル其の弐(というか例)  http://rpubs.com/wdkz/1078 最終的なレポートがhtml形式なので、Rのplotやggplotじゃなくて Google Visualisation APIを利用するって手もあります。 コード及び結果はURL リンク先を見て下さい2012/8/4 34
  36. 36. サイバー系 まとめ 1. RStudio使いましょう! 2. R Markdownでコード保存しましょう! 3. &knitrのknit HTMLでレポーティングしましょう! 4. あわよくばRPubsで公開しましょう!2012/8/4 md 35

×