我正在尝试使用两个子.Rmd文件编织一个参数化R降价文件。由于某些原因,第二个子.Rmd文件出现以下错误
Error in readLines(if (is.character(input2)) { :
object 'input2' not found
我对knitr::knit()
内发生的事情没有很深入的了解,我怀疑这是错误的所在。任何见识将不胜感激!
前提是我试图创建一个动态降价文件,其中子文档cat_var2.Rmd
创建一个表并为数据集中选择的每个类别变量绘制图表。 params$data
对象可以是包含factor
或character
类型列的任何类型的数据集。
我已包含以下代码:
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
```