Я хочу создать несколько .html с R, используя цикл for, включающий функцию rmarkdown :: render и содержащий несколько параметров (параметров) с условиями.Как я могу установить несколько параметров в этом случае?
Я пробовал следующий код, который не работает.
Пример шаблона Rmd:
---
title: "The ranking of `r params$word` companies"
output: distill::distill_article
params:
country: "USA"
word: "American"
pays: "the United States"
---
Figure 1. Number of businesses in `r params$pays`
```{r}
dataGraph1 <- filter(dataGraph7, country==params$country)
plot(dataGraph1)
```
It is interesting to observe the progress of those `r params$word` businesses.
Цикл for, созданный для получения HTML-кода из шаблона Rmd с различными параметрами:
# Directory containing input (and output) files
directory <- "~/thelink"
for (country in c("Canada", "USA", "France", "Germany", "UK", "Japan")) {
if (country == "Canada"){
word <- "Canadian"
pays <- "Canada"
} else if (country == "USA"){
word <- "American"
pays <- "the United States"
} else if (country == "Germany") {
word <- "German"
pays <- "Germany"
} else if (country == "France") {
word <- "French"
pays <- "France"
} else if (country == "UK") {
word <- "British"
pays <- "The United Kingdom"
} else (country == "Japan") {
word <- "Japanese"
pays <- "Japan"
}
input <- paste0(directory, "/", "iri2015template", ".Rmd")
output <- paste0(directory, "/","iri2015", country, ".html")
try(rmarkdown::render(input, params = list(country = country, word = word, pays = pays), output_file = output))
}
Ошибка:
Error: unexpected '}' in " }"
> input <- paste0(directory, "/", "iri2015template", ".Rmd")
> output <- paste0(directory, "/","iri2015", country, ".html")
Error in paste0(directory, "/", "iri2015", country, ".html") :
object 'country' not found
> try(rmarkdown::render(input, params = list(country = country, word = word, pays = pays), output_file = output))
Error in rmarkdown::render(input, params = list(country = country, word = word, :
object 'output' not found
> }
Error: unexpected '}' in "}"
>
Я хочу, чтобы цикл for создавал HTML-файл с именем iri2015USA.html, когда страна == США с другими параметрамикак слово == американец и платит == Соединенные Штаты.
Он должен создать HTML-файл с именем iri2015Canada.html, когда страна == Канада, а другие параметры в виде слова == канадский и платит == Канада.
и т. Д.
Большое спасибо.