我想用HTML渲染R脚本,结合用户和其他人选择的参数,这些参数作为生成报告的函数的输入而输入。
我创建了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)
时,在报告的参数'path'
中将apiFolderPath
作为默认值。 >
编辑1:
我尝试设置
#' params:
#' apiFolderPath:
#' label: "Current working directory (without \'quotes\')"
#' value: "`r getwd()`"
但是它返回字符串r getwd()
作为默认值,带有引号转义符,并且不能用于设置file.r
的工作目录。
编辑2:
实际上,我不需要在要呈现的文件中设置工作目录,因为所有文件都来自呈现file.r
的文件夹。尽管如此,我想知道如何将当前工作目录显示为参数apiFolderPath
的默认值(用户可能会更改它)。