search
LoginSignup
11
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

R Markdown Advent Calendar 2015 Day 9

posted at

R MarkdownでKnitした日付を自動的に挿入

この記事の目的

私が大好きなRMarkdownについて、Tipsを集中的に連載しようという思いつきの企画です。あと自分の中で進めている別企画のメモという位置づけでもあります。なので大した中身はありません

R Markdownとは

Markdown記法をベースに、チャンクという形でRのコードを記述して評価・出力することができるものです。RStudioのクイックリファレンスでは以下のように説明してあります:

R Markdown is an easy-to-write plain text format for creating dynamic documents and reports.

日付をKnitしたタイミングで自動的に更新したい

R Markdownでドキュメントを作成すると、大抵の場合あとで何度も修正を重ねてやっと完成させることになるかと思います。しかし、RStudioでそのままRmdファイルを新規で作成すると、冒頭のyaml部分が自動的に生成されるかと思います。

---
title: "Untitled"
author: "kazutan"
date: "2015年12月9日"
output: html_document
---

このdata:が日付で、これをKnitするとそのまま表示されます。ただ自動的に入る日付は作成日であって、公開日に修正するには手作業でその度に修正することとなります。実に面倒です。せめてKnitした日にできればいいのに、と思うはずです。

Knitした日に自動的に更新するためには?

この手法は以下のサイトを参考にしています:

冒頭のyaml部分を、以下のように修正するとOKです:

---
title: "Untitled"
author: "kazutan"
date: "`r format(Sys.time(), '%Y/%m/%d')`"
output: html_document
---

ポイントは、yaml部分であってもrチャンクが有効であることです。これを利用し、Rでシステム時刻を取得して日付の形式に整えて出力させています。なるほどです。

このテクニックは色々応用が聞くと思いますので、ぜひ色々試してみてください。

Enjoy!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
11
Help us understand the problem. What are the problem?