【问题标题】:create Rmd template that auto generates the date just like default Rmd template创建自动生成日期的 Rmd 模板,就像默认 Rmd 模板一样
【发布时间】:2019-06-04 04:22:05
【问题描述】:

在 RStudio 中,当我打开一个新的 R Markdown 文件时,默认格式具有这个很好的功能,它将今天的日期写入 YAML。

我希望我自己的 R 包中的自定义模板能够提供此功能,但我似乎不能做得比

---
title: ""
author: "Me"
date: '`r format(Sys.Date(), "%Y-%B-%d")`'
output: html_document
---

'r format(Sys.Date(), "%Y-%B-%d")' 的问题在于,每次我编织文件时它都会重写日期,这对我的工作流程来说是不可取的。我宁愿保留文件启动的日期。

【问题讨论】:

    标签: r knitr r-package


    【解决方案1】:

    你可以像这样使用file.info

    ---
    title: "title" 
    author: "Me"
    date: '`r file.info("date.Rmd")$ctime`'
    output: html_document
    ---
    alternatively...
    `r file.info(knitr::current_input())$ctime`
    

    假设您的降价文件名为date.Rmd

    已编辑以添加更通用的方法...

    【讨论】:

    • 这是一个有用的线索。所有 R Markdown 模板在 R 包中都命名为skeleton.Rmd,因此当模板命名为skeleton.Rmd 时,您的代码可以工作,但是一旦模板以新名称保存(这是所有模板的使用方式),代码将不再工作无需更改 file.info 中的 *.Rmd。还有什么建议吗?
    • 我使用knitr::current_input()更新了替代方案
    • 谢谢。 YAML 中的date: "`r file.info(knitr::current_input())$ctime`" 完美运行
    猜你喜欢
    • 1970-01-01
    • 2018-10-01
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    • 2011-12-27
    • 2019-05-29
    • 2019-07-04
    • 2022-11-23
    相关资源
    最近更新 更多