R Markdown: установить начало недели в параметрах - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь установить свой параметр 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)
```

1 Ответ

0 голосов
/ 26 октября 2018

В пакете 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)
```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...