「初心者のR入門」について

まず最初に

あることからWeb情報を機械的に収集出来ないかを探していた時にR言語に出会ったのが最初である。(2014年の年末?)RのGUIはほとんど触らず、いきなりRStudioからスタートしました。細々と土日を利用して、スクリプトを書きながら、躓いてはWeb検索し、R-Tipsに助けられ、1年後には毎週特定のサイトから、スクレイピングでデータを取得してグラフを眺めるところまで来ました。
ある日Adbanced R:Hadley Wickhamを知る。そのVocabularyには基本パッケージ:{base},{stats},{utils}のから、基本的に知っておきたい関数が列挙されていた。

初学者としての不安

ある意味「R言語」は、統計学としてアカデミックな利用、またプログラミンツールとして一面、またマーケティングツールという多面的な使われ方で、それぞれの利用者の立ち位置からそれぞれの領域で初学者が存在すると思われる。 どのように学習していけばよいか?進むべき道筋を示した情報は少ない。これこそが、初学者が進むべきファーストステップと思えました。

一通り調べてみるか

お世話になったサイト:
* R-Tips
「The R Tips―データ解析環境Rの基本技・グラフィックス活用集」舟尾 暢男著の旧版のWebサイト
* stckoverflow.com のRカテゴリー
* biostatistics ggplot2情報もよく参考にしています。

記録として残せないか

自分のための備忘として残せないか?同じレベルの人に提供できないか?と模索し始める。 markdownをキーワードにして検索したら、、、

rmarkdown + knitrを知る

rmarkdown+knitrでhtmlが吐けることが分かったので、さらに調べると以下のサイトが大当たりでした。
連載 R Markdownで楽々レポートづくり:高橋康介 これで、作成プロセスやそれぞれがどのように役割を担っているか理解できました。(書籍買ってなくごめんなさい)便利な世の中になりました!

_output.yamlについて

最初はYAML Matterに直接書いていましたが、最終的に_output.yaml(_output.yml)に外部ファイルにしました。 このサイトの例:

html_document:
 self_contained: false
 theme: spacelab    
 mathjax: null
 lib_dir: libs
 toc: true
 toc_depth: 3
 toc_float:
   collapsed: false  
 css: css/markdown.css
 includes:
   in_header: includes/header.html
   before_body: includes/_navbar.html
   after_body: includes/footer.html    

コードの説明:

self_contained: false                 # 画像などを外部ファイルする  
theme: spacelab                       # BOOTSTRAP のテーマ名  
mathjax: null                         # 数学文字列を使わない
lib_dir: libs                         # Jqueryやbootstrapの保存先フォルダ名
toc: true                             # 目次を作成する
toc_depth: 3                          # h1~h3を目次化
toc_float:                            # 目次は固定にしない
  collapsed: false                    # 目次を常に開いた状態
css: css/markdown.css                 # 独自CSSファイルの保存先指定
includes: 
  in_header: includes/header.html     # ヘッダーファイル:追加のmeta情報など
  before_body: includes/_navbar.html  # navbarなど
  after_body: includes/footer.html    # フッターファイル:最終更新日やcopyright

chunk_optionの外部ファイル

同じくchunkのグローバルオプションも直接書いていましたが、外部ファイルにしました。
\```{r, global_options, include=FALSE}
library(knitr)
opts_chunk$set(
  echo=TRUE,
  warning=FALSE,
  fig.path="images/",
  cache.extra = tools::md5sum("includes/_navbar.html"))
\```

コードを利用する場合は’\’を削除してください。 cache.extra は第4回 レポつく自由自在 ~R Markdownにまつわるエトセトラ~:高橋康介を参考にさせて頂きました。

どのようなサイト構造にするか

さて、それぞれのページ単位が整ったのでサイト構造をどうするか?となったが、いとも簡単に解決した。
htmlでの構造と表現について、bootstrapが担当しますってことでした。

bootstrapも便利だが、奥が深い

rmarkdown本家のサイトもbootstrapで作成されておりそれが参考になった。Creating a Website

_site.ymlについて(参考まで)

_site.ymlは、navbarのメニュー構造を外部ファイルとして定義できる。 htmlファイルの作成後にメニューを変更する必要があれば、この定義ファイルをメンテナンスしてknitr()を実行すればよい。
macのRStudioのpreview(ver.0.99.1130)では、_site.ymlが利用できた。(windows環境では日本語が通らなかった)
実はmacで_site.ymlから吐いたhtmlファイルのnavbar記述部分を切り出して_navbar.htmlとしました。

このサイトの掲載範囲は

パッケージ{base},{stats},{utils}の中から必要なものを選んだとあるが、{base:416個},{stats:306個},{utils:142個}{合計:864個}の中で、約280個の関数がピックアップされている。(網羅率は約32.4%です。) 残りの関数や1000を超えるパッケージについて情報からすれば、本サイトの情報は入り口の入り口に過ぎない。

Study work hard!

残課題

  • 用例を掲載してない関数がいくつかある。特に統計学はお手上げのところがあり、用例の提供をお願いします!
  • サイト内検索はやっぱり付けたい。
  • 問い合わせフォームは必要あるかな?。
  • RStudioのBuildWebsiteで一括更新がしたい。

ツイッターやってます

このサイト専用のツイッターアカウントを作成しました。

いろいろなご指摘や用例の提供をお待ちしております。 余談ですが、Hadley Wickham にVocabularyを使っていいかとツィートしたところ、彼から「@r_beginners go ahead!」と返信いただけました。

最終更新日:2016/04/27

copyrigth © 2016 r-beginners.com All rigths reserved.

PAGE TOP ▲