尝试使用子文档编织降价时出现错误

时间:2018-12-05 15:59:53

标签: r r-markdown knitr

我正在尝试使用两个子.Rmd文件编织一个参数化R降价文件。由于某些原因,第二个子.Rmd文件出现以下错误

 Error in readLines(if (is.character(input2)) { : 
  object 'input2' not found 

我对knitr::knit()内发生的事情没有很深入的了解,我怀疑这是错误的所在。任何见识将不胜感激!


前提是我试图创建一个动态降价文件,其中子文档cat_var2.Rmd创建一个表并为数据集中选择的每个类别变量绘制图表。 params$data对象可以是包含factorcharacter类型列的任何类型的数据集。

我已包含以下代码:

parent.Rmd

---
title: "parent document"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r mydata, include=FALSE}
my_data <- iris
```

```{r cat_log, include=FALSE}
cat_log <- TRUE #default
if (length(names(dplyr::select_if(my_data, funs(is.character(.) | is.factor(.))))) < 1) {
  cat_log <- FALSE
}
```

`r if (cat_log) {"# Categorical Variables"}`
```{r catgorical_vars-md, include=FALSE, message=FALSE}
out_catgorical <- NULL

for (v in names(dplyr::select_if(my_data, funs(is.character(.) | is.factor(.))))) {
  out_catgorical <- c(out_catgorical, knitr::knit_expand('child2.Rmd'))
}
```
`r if (cat_log) paste(knit(text=out_catgorical), collapse = '\n')`

child2.Rmd

## Variable: {{v}}

```{r table-{{v}}, echo=FALSE}
var_cat <- '{{v}}'

my_table <- table(my_data[var_cat]) #make a table
```

0 个答案:

没有答案