Параметризация R Отчет об уценке, сочетающий «спросить» и входные параметры - PullRequest
0 голосов
/ 06 сентября 2018

Я хотел бы отобразить R-скрипт в HTML, объединяющий параметры, выбранные пользователем и другие, которые вводятся в качестве входных данных для функции, которая генерирует отчет.

Я создал file.r с возможностью выбора некоторых параметров, например,

#' title: "`r params$title`"
#' author: "xxx"
#' date: "`r format(Sys.time(), '%d %B, %Y')`"
#' output:
#'    html_document:
#'      css: styles.css
#'      toc: true
#' params:
#'   apiFolderPath:
#'     label: "Current working directory (without \'quotes\')"
#'     value: ""
#'   title: 
#'     label: "Title"
#'     value: "HTML API Report"
#'   modelType:
#'     label: "Model"
#'     value: 'rpart'
#'     input: radio
#'     choices: ['rpart', 'xgboost']

setwd(params$apiFolderPath)
...

Но я бы хотел иметь значение по умолчанию для apiFolderPath в качестве текущего рабочего каталога, потому что тогда file.r должен получить оттуда некоторые другие функции.

На одном скрипте R я определяю функцию:

generate_report <- function(path_to_file){
  library(rmarkdown)
  rmarkdown::render(paste0(path_to_file,'/file.r'),
                    params = 'ask',
                    envir = new.env())
}

В другом сценарии R я называю это:

input_path <- 'path'
generate_report(path_to_file = input_path)

Подводя итог, хотелось бы, чтобы при вызове generate_report(path_to_file = input_path) в качестве значения по умолчанию в параметре apiFolderPath отчета использовалось 'path'.


Редактировать 1:

Я пытался установить

#' params:
#'   apiFolderPath:
#'     label: "Current working directory (without \'quotes\')"
#'     value: "`r getwd()`"

но возвращает значение по умолчанию строку r getwd(), с обратным символом обратной черты, которая не может использоваться для установки рабочего каталога file.r.

Редактировать 2:

На самом деле мне не нужно устанавливать рабочий каталог в файле, который будет отображаться, так как все файлы получены из папки, в которой отображается file.r. Тем не менее, Я хотел бы знать, как показать текущий рабочий каталог в качестве значения по умолчанию для параметра apiFolderPath (который может быть потенциально изменен пользователем).

...