Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
11
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

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!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
11
Help us understand the problem. What are the problem?