首页 > 解决方案 > 具有交互式用户界面的 Knitr

问题描述

我正在尝试编写一个 Rmarkdown 代码,用户可以在其中交互式地插入一个 Excel 表格,然后自动生成一个报告。首先,在我写的 YAML 中:

---
title: "Test"
author: "Test"
date: "Test"
output: html_document
params: 
  data: 
    label: "Insert your data:"
    value: results.csv
    input: file
---

然后,在我使用的块 1 中:

```{r ,warning= FALSE, message=FALSE, echo=FALSE }
library(tidyverse)
rmarkdown::render('Test.Rmd', params = 'ask')
df = as.data.frame(readxl::read_excel(params$data))
```

运行上述代码时,导航器打开浏览器输入文件,有“取消”和“保存”两个按钮(应该不是“编织”吗?)

当我“保存”时,输出是:“错误参数对象已经存在于编织环境中,因此不能被渲染参数覆盖

因此,我尝试过:

```{r ,warning= FALSE, message=FALSE, echo=FALSE }
    library(tidyverse)
    rmarkdown::render('Test.Rmd', params = 'ask', envir = new.env())
    df = as.data.frame(readxl::read_excel(params$data))
```

我再次插入数据文件,输出为: parse_block(g[-1], g[1], params.src, markdown_mode) 中的错误:重复的块标签“设置”,已用于块:knitr ::opts_chunk$set(echo = TRUE) 调用:... process_file -> split_file -> lapply -> FUN -> parse_block

我没有找到问题以及为什么会发生。有人可以帮助我吗?

标签: htmlrr-markdownknitr

解决方案


推荐阅读