Upgrade to Pro — share decks privately, control downloads, hide ads and more …

R Markdownを使った再現的レポーティング

niszet
April 13, 2019

R Markdownを使った再現的レポーティング

2019/04/13(土) に行われた 第77回R勉強会@東京(#TokyoR)初心者セッション2 の資料です。

niszet

April 13, 2019
Tweet

Other Decks in Technology

Transcript

  1. 誰? • なまえ: niszet (@niszet0) • R歴: 3年目のRおじさん • AtCoder:

    茶色になりました! • 日本Pandocユーザー会
  2. アウトプットしよう(技術同人誌界隈目線) • 何かしたら最後は必ずアウトプット • 成果をまとめるため • アウトプットすることで、理解できている/いないがはっきりする • 結果をshareする相手は将来の自分かもしれない。 •

    Qiitaでもブログでも(個人ブログはおすすめ) • 2018年は208件ブログ投稿してました もちろん外部に公開しなくてもOKです でも…結果は再現できた方が良いですよね。
  3. R Markdownを使おう • データの前処理からドキュメント生成まで、書いた通りにR (knitやrmarkdown、その他のパッケージたち)が実行する 。 • 途中に手作業が入らない ので、何度やっても同じ結果や見 た目を保つ

    ことが出来る • 毎回クリーンな環境で実行されるので結果が変わらない • コンソール上で定義した変数や読み込んだライブラリは無効 • テキストファイルなので、gitでの管理にも向いている。
  4. 出力ファイルの例 • HTMLのレポート • https://niszet.github.io/TokyoR77_rep_rmd/Sample1.html • スライド • https://niszet.github.io/TokyoR72LT/TokyoR72LT.html#/ •

    Word形式で書いた同人誌 • 名刺 • Webサイト、ブログ、オンライン書籍 …などなど、様々な形式のファイルが作れます。
  5. YAML • YAML Ain’t a Markup Language の略。 • リストや連想配列のような構造のあるデータを書く

    • R MarkdownではPandocにデータや指示を送るために使う • キー: 値の形で書く。 • title: HTML形式のR Markdownサンプル のように。 • 最低限outputだけ指定すれば動きます。 • outputに指定するのはrmarkdownパッケージの関数なので、詳細な 使い方はhelpを読みましょう
  6. Markdownのハマるところ 表示が意図通りにならなくて困ったら… • 空の行を入れる • ブロック要素の前後に空の行) • 記号の前後に空白を入れる と意図した表示になりやすい •

    インライン要素の前後に半角スペース • 記号の表示は直前にバックスラッシュ(¥) • 改行は行末にバックスラッシュか半角スペース2つ。
  7. 表を出力してみる Sepal.Length Sepal.Width Petal.Length Petal.Width Species 5.1 3.5 1.4 0.2

    setosa 4.9 3.0 1.4 0.2 setosa 4.7 3.2 1.3 0.2 setosa 4.6 3.1 1.5 0.2 setosa 5.0 3.6 1.4 0.2 setosa 5.4 3.9 1.7 0.4 setosa knitr::kable(head(iris), caption=キャプション)