SlideShare ist ein Scribd-Unternehmen logo
1 von 36
そろそろRStudioの話でもしてみようと思う


        2012/08/04
        Tokyo.R#25
          和田 計也

サイバー系
サイバー系


      はじめに



     ※この発表は個人の
     見解であり、所属す
     る組織の公式見解で
     はありません。

2012/8/4                 1
サイバー系


     自己紹介

  和田 計也(@wdkz)
            静岡県袋井市出身




  サイバー系企業でデータマイニングエンジニア職
            最近はレポーティング周りの仕事してます



  前職はバイオベンチャー
            バイオマーカ探索してた
            学生時代は枯草菌の研究




2012/8/4                                   2
サイバー系


      私はこうしてRStudioに乗り換えました

     従来
      エディタ(EmEditor) + RGUI   featuring コピペ



     現在
            RStudio


     乗り換えた理由
      括弧補完してくれたり、オブジェクトの一覧が表示され
       てるから迷子にならないし、data.frameの中を手軽に
       見れるし、plot図何枚も保持してくれてるし...
            Rmarkdownで記述してknitrでknit
             htmlして簡単にレポーティングできるから
2012/8/4                                               3
サイバー系


      今日お伝えしたいこと

    1. RStudio使いましょう!
    2. R Markdownでコード保存しましょう!
    3. knitrのknit HTMLでレポーティングしましょう!




2012/8/4                                       4
サイバー系


      今日のお話
    1. RStudioについて



    2. R markdownとかknitrとかについて



    3. チュートリアル



2012/8/4                                 5
サイバー系


      今日のお話
    1. RStudioについて



    2. R markdownとかknitrとかについて



    3. チュートリアル



2012/8/4                                 6
サイバー系


      RStudioとは?

     RのIDE(Integrated Development Environment)です

     サイト
            http://rstudio.org/


     スクショ→




2012/8/4                                             7
サイバー系


      Desktop版とServer版とあります

     Desktop版




     Server版

                              ・誰かがセットアップして
                              くれたら、みんな使える!
                              ・みんなでコードを共有で
                              きる!
                              ・linuxでしか使えない
                              libraryも使える!
                                 XML, RApache ...



2012/8/4                                             8
サイバー系


      インストール_どっちか選んでね

     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/server




2012/8/4                                                                                                9
サイバー系


      RStudioを起動してみる

     Desktop版
      アイコンをダブルクリック

     Server版
      ブラウザでhttp://xxx.xxx.xxx.xxx:8787

           ログイン画面
                            Firefox, Safari, Chrome以外のブラウザだと
                            以下の表示が出て使えない




    *ログインには、RStudioがインストールされたサーバのuserとpasswordを使う。
     LDAPアカウントを使用する場合は後述。
2012/8/4                                                       10
サイバー系


      RStudio 画面_

     Desktop版, Server版どちらでも同じです。




                                         「Tool」→「Options」
                         Workspaceとか      で画面割は設定できます



               Source




                        FilesとかPlotsとか
           Console




2012/8/4                                                    11
サイバー系


      RStudio_右上のとこ

     Projectを選べるので便利です。
      rm(list=ls()); setwd(“~/hogehoge/Prj3”)
      とかってやんなくていいから、
      さくさく切り替えられます。

                           これ




2012/8/4                                            12
サイバー系


      RStudio_Sourceパネル

     Sourceの種類を選べるが有無を言わずR Markdown形式
      を選ぶ。(Markdownについては後述)




            これ




2012/8/4                                 13
サイバー系


      RStudio_Sourceパネル

     左下の クリックすると関数一覧が出現して、選択するこ
      とで関数にjumpできます。




               これ

2012/8/4                           14
サイバー系


      RStudio_Sourceパネル

     ソース中で実行したいところを選択してRunボタン押すと
      瞬時にConsoleにソースが転送されて実行されます
                          ②Runボタン




                             ①ここら辺のソースを
                              選択して




2012/8/4                                  15
サイバー系


      RStudio_Workspaceパネル

    オブジェクト一覧が出てる(Consoleでls()したものと、
     その中見がなんとなくわかるようなのが常に表示されて
     るのはありがたい)

            例えばこれ
            クリックすると



           中見が手軽に見れます




2012/8/4                               16
サイバー系


      RStudio_FilesとかPlotsとか

     デフォで右下のパネル
          Plotsはplot()の内容が表示される。
           矢印ボタンで過去にplotした図に
           戻れるしZoomとかExportとか
           駆使して好きなサイズの絵で保存
           できる。

          ?で出てくるHelpもここに出る。
           helpはちょい見辛いかな




          Filesはdir()の内容が表示されてる。
           Server版はUpload機能もあり
           わざわざscpとかしなくていいから便利
2012/8/4                                17
サイバー系


      (おまけ)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
サイバー系


      (おまけ)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/configuration
2012/8/4                                                                  19
サイバー系


      今日のお話
    1. RStudioについて



    2. R markdownとかknitrとかについて



    3. チュートリアル



2012/8/4                             20
サイバー系


      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
サイバー系


      ちなみに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
サイバー系


      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
サイバー系


      R Markdown記法例

    ### 初めてのR Markdown
                                             レポートのタイトル
    ```{r}
    plot(1:10)             ここの間にRのコードを書く
    ```
    記法の詳細は[ここ
    ](http://www.rstudio.org/docs/authoring/using_markdown)を見てね



                  こんな風に、リンクを貼れたりもできる




2012/8/4                                                          24
サイバー系


      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
サイバー系


      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
サイバー系


     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
サイバー系


      (参考)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
サイバー系


      今日のお話
    1. RStudioについて



    2. R markdownとかknitrとかについて



    3. チュートリアル



2012/8/4                             29
サイバー系


      Knit HTMLを実行

   ソース書き上がったら「Knit HTML」ボタンを押す




2012/8/4                              30
サイバー系


      Knit HTML実行中...

   暫く待つ




2012/8/4                    31
サイバー系


      Knit HTML実行結果
   内蔵ブラウザでレポートが表示される!
    htmlでsaveするかRPubsにpublishするか選びましょう!


                              htmlの保存



                      ブラウザへ             RPUBへ




2012/8/4                                            32
サイバー系


      RPubへpublish

   http://rpubs.com/wdkz/1076
                                 コード及び結果はURL
                                 リンク先を見て下さい




2012/8/4                                       33
サイバー系


      チュートリアル其の弐(というか例)

   http://rpubs.com/wdkz/1078
  最終的なレポートがhtml形式なので、Rのplotやggplotじゃなくて
  Google Visualisation APIを利用するって手もあります。


                                 コード及び結果はURL
                                 リンク先を見て下さい




2012/8/4                                       34
サイバー系


      まとめ

    1.     RStudio使いましょう!
    2.     R Markdownでコード保存しましょう!
    3.     &knitrのknit HTMLでレポーティングしましょう!
    4.     あわよくばRPubsで公開しましょう!




2012/8/4
                    md                      35

Weitere ähnliche Inhalte

Was ist angesagt?

グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
 
Anaconda navigatorのアップデートが終わらないときの対処方法メモ
Anaconda navigatorのアップデートが終わらないときの対処方法メモAnaconda navigatorのアップデートが終わらないときの対処方法メモ
Anaconda navigatorのアップデートが終わらないときの対処方法メモ
ayohe
 
Rでピボットテーブル
RでピボットテーブルRでピボットテーブル
Rでピボットテーブル
Yohei Sato
 
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
Shintaro Fukushima
 

Was ist angesagt? (20)

Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれRで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
 
Rを用いたGIS
Rを用いたGISRを用いたGIS
Rを用いたGIS
 
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
 
コサインクラスタリング
コサインクラスタリングコサインクラスタリング
コサインクラスタリング
 
異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイする
 
型安全性入門
型安全性入門型安全性入門
型安全性入門
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
 
for関数を使った繰り返し処理によるヒストグラムの一括出力
for関数を使った繰り返し処理によるヒストグラムの一括出力for関数を使った繰り返し処理によるヒストグラムの一括出力
for関数を使った繰り返し処理によるヒストグラムの一括出力
 
重回帰分析で交互作用効果
重回帰分析で交互作用効果重回帰分析で交互作用効果
重回帰分析で交互作用効果
 
Anaconda navigatorのアップデートが終わらないときの対処方法メモ
Anaconda navigatorのアップデートが終わらないときの対処方法メモAnaconda navigatorのアップデートが終わらないときの対処方法メモ
Anaconda navigatorのアップデートが終わらないときの対処方法メモ
 
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
Rでピボットテーブル
RでピボットテーブルRでピボットテーブル
Rでピボットテーブル
 
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
 
マーク&スイープ勉強会
マーク&スイープ勉強会マーク&スイープ勉強会
マーク&スイープ勉強会
 
ホモトピー型理論入門
ホモトピー型理論入門ホモトピー型理論入門
ホモトピー型理論入門
 
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
 
基礎線形代数講座
基礎線形代数講座基礎線形代数講座
基礎線形代数講座
 
Rの高速化
Rの高速化Rの高速化
Rの高速化
 

Andere mochten auch (6)

RをAWSで使おう
RをAWSで使おうRをAWSで使おう
RをAWSで使おう
 
knitrBootstrapを使ってHTMLレポートをかわいくする
knitrBootstrapを使ってHTMLレポートをかわいくするknitrBootstrapを使ってHTMLレポートをかわいくする
knitrBootstrapを使ってHTMLレポートをかわいくする
 
HiRoshima.R#6 by imuyaoti
 HiRoshima.R#6 by imuyaoti HiRoshima.R#6 by imuyaoti
HiRoshima.R#6 by imuyaoti
 
Introduction to statistics
Introduction to statisticsIntroduction to statistics
Introduction to statistics
 
Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)
 
10分で分かるr言語入門ver2.5
10分で分かるr言語入門ver2.510分で分かるr言語入門ver2.5
10分で分かるr言語入門ver2.5
 

Ähnlich wie そろそろRStudioの話

自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう
Masahiko Hashimoto
 
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
Takafumi Inamori
 
Dodai projectの紹介
Dodai projectの紹介Dodai projectの紹介
Dodai projectの紹介
Osamu Habuka
 
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
YusukeKuramata
 

Ähnlich wie そろそろRStudioの話 (20)

Tokyo.R#16 wdkz
Tokyo.R#16 wdkzTokyo.R#16 wdkz
Tokyo.R#16 wdkz
 
実は怖くないDevOps
実は怖くないDevOps実は怖くないDevOps
実は怖くないDevOps
 
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
 
自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう
 
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~
 
scala-kaigi1-sbt
scala-kaigi1-sbtscala-kaigi1-sbt
scala-kaigi1-sbt
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
Rstudio事始め
Rstudio事始めRstudio事始め
Rstudio事始め
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
 
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
 
Dodai projectの紹介
Dodai projectの紹介Dodai projectの紹介
Dodai projectの紹介
 
Ansible2.0と実用例
Ansible2.0と実用例Ansible2.0と実用例
Ansible2.0と実用例
 
V6 unix in okinawa
V6 unix in okinawaV6 unix in okinawa
V6 unix in okinawa
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
Apache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATAApache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATA
 
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
 
20130203 oss-db-lpi
20130203 oss-db-lpi20130203 oss-db-lpi
20130203 oss-db-lpi
 
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみた
 

Mehr von Kazuya Wada

RのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみたRのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみた
Kazuya Wada
 

Mehr von Kazuya Wada (13)

オンラインTVサービスの分析事例
オンラインTVサービスの分析事例オンラインTVサービスの分析事例
オンラインTVサービスの分析事例
 
DeployR使ってみた話
DeployR使ってみた話DeployR使ってみた話
DeployR使ってみた話
 
道玄坂Lt#2 wdkz
道玄坂Lt#2 wdkz道玄坂Lt#2 wdkz
道玄坂Lt#2 wdkz
 
ハイレゾの話
ハイレゾの話ハイレゾの話
ハイレゾの話
 
Shiny-Serverあれこれ
Shiny-ServerあれこれShiny-Serverあれこれ
Shiny-Serverあれこれ
 
データサイエンティストカジュアルトーク by wdkz
データサイエンティストカジュアルトーク by wdkzデータサイエンティストカジュアルトーク by wdkz
データサイエンティストカジュアルトーク by wdkz
 
R-3.0.0でGLM
R-3.0.0でGLMR-3.0.0でGLM
R-3.0.0でGLM
 
はじめてのShiny
はじめてのShinyはじめてのShiny
はじめてのShiny
 
JuliaでGLM
JuliaでGLMJuliaでGLM
JuliaでGLM
 
Rで触れる日本経済~RでVAR編~
Rで触れる日本経済~RでVAR編~Rで触れる日本経済~RでVAR編~
Rで触れる日本経済~RでVAR編~
 
RのffでGLMしてみたけど...
RのffでGLMしてみたけど...RのffでGLMしてみたけど...
RのffでGLMしてみたけど...
 
Rでウォーリを探してみた
Rでウォーリを探してみたRでウォーリを探してみた
Rでウォーリを探してみた
 
RのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみたRのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみた
 

Kürzlich hochgeladen

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 

Kürzlich hochgeladen (8)

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 

そろそろRStudioの話

  • 1. そろそろRStudioの話でもしてみようと思う 2012/08/04 Tokyo.R#25 和田 計也 サイバー系
  • 2. サイバー系 はじめに ※この発表は個人の 見解であり、所属す る組織の公式見解で はありません。 2012/8/4 1
  • 3. サイバー系 自己紹介  和田 計也(@wdkz)  静岡県袋井市出身  サイバー系企業でデータマイニングエンジニア職  最近はレポーティング周りの仕事してます  前職はバイオベンチャー  バイオマーカ探索してた  学生時代は枯草菌の研究 2012/8/4 2
  • 4. サイバー系 私はこうしてRStudioに乗り換えました  従来  エディタ(EmEditor) + RGUI featuring コピペ  現在  RStudio  乗り換えた理由  括弧補完してくれたり、オブジェクトの一覧が表示され てるから迷子にならないし、data.frameの中を手軽に 見れるし、plot図何枚も保持してくれてるし...  Rmarkdownで記述してknitrでknit htmlして簡単にレポーティングできるから 2012/8/4 3
  • 5. サイバー系 今日お伝えしたいこと 1. RStudio使いましょう! 2. R Markdownでコード保存しましょう! 3. knitrのknit HTMLでレポーティングしましょう! 2012/8/4 4
  • 6. サイバー系 今日のお話 1. RStudioについて 2. R markdownとかknitrとかについて 3. チュートリアル 2012/8/4 5
  • 7. サイバー系 今日のお話 1. RStudioについて 2. R markdownとかknitrとかについて 3. チュートリアル 2012/8/4 6
  • 8. サイバー系 RStudioとは?  RのIDE(Integrated Development Environment)です  サイト  http://rstudio.org/  スクショ→ 2012/8/4 7
  • 9. サイバー系 Desktop版とServer版とあります  Desktop版  Server版 ・誰かがセットアップして くれたら、みんな使える! ・みんなでコードを共有で きる! ・linuxでしか使えない libraryも使える! XML, RApache ... 2012/8/4 8
  • 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/server 2012/8/4 9
  • 11. サイバー系 RStudioを起動してみる  Desktop版  アイコンをダブルクリック  Server版  ブラウザでhttp://xxx.xxx.xxx.xxx:8787 ログイン画面 Firefox, Safari, Chrome以外のブラウザだと 以下の表示が出て使えない *ログインには、RStudioがインストールされたサーバのuserとpasswordを使う。 LDAPアカウントを使用する場合は後述。 2012/8/4 10
  • 12. サイバー系 RStudio 画面_  Desktop版, Server版どちらでも同じです。 「Tool」→「Options」 Workspaceとか で画面割は設定できます Source FilesとかPlotsとか Console 2012/8/4 11
  • 13. サイバー系 RStudio_右上のとこ  Projectを選べるので便利です。 rm(list=ls()); setwd(“~/hogehoge/Prj3”) とかってやんなくていいから、 さくさく切り替えられます。 これ 2012/8/4 12
  • 14. サイバー系 RStudio_Sourceパネル  Sourceの種類を選べるが有無を言わずR Markdown形式 を選ぶ。(Markdownについては後述) これ 2012/8/4 13
  • 15. サイバー系 RStudio_Sourceパネル  左下の クリックすると関数一覧が出現して、選択するこ とで関数にjumpできます。 これ 2012/8/4 14
  • 16. サイバー系 RStudio_Sourceパネル  ソース中で実行したいところを選択してRunボタン押すと 瞬時にConsoleにソースが転送されて実行されます ②Runボタン ①ここら辺のソースを 選択して 2012/8/4 15
  • 17. サイバー系 RStudio_Workspaceパネル  オブジェクト一覧が出てる(Consoleでls()したものと、 その中見がなんとなくわかるようなのが常に表示されて るのはありがたい) 例えばこれ クリックすると 中見が手軽に見れます 2012/8/4 16
  • 18. サイバー系 RStudio_FilesとかPlotsとか  デフォで右下のパネル  Plotsはplot()の内容が表示される。 矢印ボタンで過去にplotした図に 戻れるしZoomとかExportとか 駆使して好きなサイズの絵で保存 できる。  ?で出てくるHelpもここに出る。 helpはちょい見辛いかな  Filesはdir()の内容が表示されてる。 Server版はUpload機能もあり わざわざscpとかしなくていいから便利 2012/8/4 17
  • 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. サイバー系 (おまけ)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/configuration 2012/8/4 19
  • 21. サイバー系 今日のお話 1. RStudioについて 2. R markdownとかknitrとかについて 3. チュートリアル 2012/8/4 20
  • 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. サイバー系 ちなみに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. サイバー系 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. サイバー系 R Markdown記法例 ### 初めてのR Markdown レポートのタイトル ```{r} plot(1:10) ここの間にRのコードを書く ``` 記法の詳細は[ここ ](http://www.rstudio.org/docs/authoring/using_markdown)を見てね こんな風に、リンクを貼れたりもできる 2012/8/4 24
  • 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. サイバー系 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. サイバー系 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. サイバー系 (参考)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. サイバー系 今日のお話 1. RStudioについて 2. R markdownとかknitrとかについて 3. チュートリアル 2012/8/4 29
  • 31. サイバー系 Knit HTMLを実行  ソース書き上がったら「Knit HTML」ボタンを押す 2012/8/4 30
  • 32. サイバー系 Knit HTML実行中...  暫く待つ 2012/8/4 31
  • 33. サイバー系 Knit HTML実行結果  内蔵ブラウザでレポートが表示される! htmlでsaveするかRPubsにpublishするか選びましょう! htmlの保存 ブラウザへ RPUBへ 2012/8/4 32
  • 34. サイバー系 RPubへpublish  http://rpubs.com/wdkz/1076 コード及び結果はURL リンク先を見て下さい 2012/8/4 33
  • 35. サイバー系 チュートリアル其の弐(というか例)  http://rpubs.com/wdkz/1078 最終的なレポートがhtml形式なので、Rのplotやggplotじゃなくて Google Visualisation APIを利用するって手もあります。 コード及び結果はURL リンク先を見て下さい 2012/8/4 34
  • 36. サイバー系 まとめ 1. RStudio使いましょう! 2. R Markdownでコード保存しましょう! 3. &knitrのknit HTMLでレポーティングしましょう! 4. あわよくばRPubsで公開しましょう! 2012/8/4 md 35