R 降价:在参数中设置一周日期的开始



我正在尝试将我的 Markdown 参数设置为一周的第一天。我尝试执行以下代码,但日期转换似乎有错误。 下面是降价代码。

---
title: "Sample Markdown"
author: "ABC"
date: "`r format(Sys.time(), '%d %B, %Y')`"
tables: yes
output: html_document
params:
dts: 
label: "Start Date"
input: date
value: !r as.Date(round(as.IDate(as.character(Sys.Date()), "%m-%d-%Y"), "week")-1)
max: !r Sys.Date()
dte: 
label: "End Date"
input: date
value: !r Sys.Date()-1
max: !r Sys.Date()
---
```{r setup, include=TRUE,echo=FALSE,message=FALSE}
knitr::opts_chunk$set(echo = TRUE)
options(java.parameters = "-Xmx32000m")
dt_start=as.character(as.Date(params$dts))
dt_end=as.character(as.Date(params$dte))
print(dt_start)
print(dt_end)
```

lubridate包对此有一些不错的功能。下面是一个使用floor_date的示例。

---
title: "Sample Markdown"
author: "ABC"
date: "`r format(Sys.time(), '%d %B, %Y')`"
tables: yes
output: html_document
params:
dts: 
label: "Start Date"
input: date
value: !r lubridate::floor_date(Sys.Date(), 'week')
max: !r Sys.Date()
dte: 
label: "End Date"
input: date
value: !r Sys.Date()-1
max: !r Sys.Date()
---
```{r setup, include=TRUE,echo=FALSE,message=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(lubridate)
options(java.parameters = "-Xmx8000m")
dt_start=params$dts
dt_end=params$dte
print(dt_start)
print(dt_end)
```

最新更新