ошибка при попытке связать уценку r с использованием дочернего документа - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь связать параметризованный R-файл уценки , используя два дочерних .Rmd файла .По какой-то причине со вторым дочерним файлом .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
```
...