Weitere ähnliche Inhalte
Ähnlich wie そろそろRStudioの話 (20)
Mehr von Kazuya Wada (13)
そろそろRStudioの話
- 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