Передача нескольких параметров для отображения функции, чтобы связать HTML? - PullRequest
0 голосов
/ 24 апреля 2018

Я хочу создать параметрический документ Rmd, в котором пользователь введет в список эти параметры ниже и запустит функцию render (), чтобы связать документ.Это мой файл .Rmd:

title: "DanceWize NSW report"
output: "html_pretty"
params:
    bump_in_date:"09-03-2018"
    bump_out_date:"10-03-2018"
    input_file:"ClientFiles/input_data.csv"
    operating_hours:"15:00-23:15"
    volunteers:"10"
    staff:"1 staff–DanceWize NSW Coordinator (Dan)"

Это моя функция рендеринга с объявлением параметров (отдельный скрипт R).

bump_in_date = "09-03-2018"
bump_out_date = "10-03-2018"
input_file = "ClientFiles/input_data.csv"
operating_hours = "15:00-23:15"
volunteers = "10"
staff = "1 staff–DanceWize NSW Coordinator (Dan)"

parameters = list(bump_in_date = bump_in_date,
              bump_out_date = bump_out_date,
              input_file = input_file,
              operating_hours = operating_hours,
              volunteers = volunteers,
              staff = staff
)

render("ReportInitial.Rmd", output_format = prettydoc::html_pretty(theme = "leonids"), output_file = "Report.html", encoding = "UTF-8", clean = TRUE, params = list())

Если я отправляю пустой список, вязаниеуспешно, но если я помещаю

params = parameters

в функцию рендеринга, я получаю следующую ошибку:

Error in knit_params_get(input_lines, params) :
  render params not declared in YAML: bump_in_date
Calls: render -> knit_params_get

Я действительно определяю параметры и могу подтвердить, что переменная параметров является именованнойвектор списка, как и ожидалось.Что я делаю не так?

1 Ответ

0 голосов
/ 24 апреля 2018

Решение состоит в том, чтобы просто удалить:

params:
      param1:
      etc.

в заголовке файла Rmd.Кроме того, поскольку список, который я передаю для render (), является параметрами, вы можете обращаться к этим переменным как к параметрам $ variable в Rnotebook, а не как params $ variable.

...