Включить несколько графики с R-markdown

У меня есть R-вектор путей к файлам PDF, которые я хотел бы вставить в свой документ knitr и связать с html. Я вижу, что могу получить один PDF для включения в

knitr::include_graphics(filepaths[1])

Мой вектор filepaths длинный и меняет размер между компиляциями документов. Есть ли способ включить их всех за один раз. Я думал, что это будет работать.

for(i in filepaths){knitr::include_graphics(i)}

Также пытался:

for(i in filepaths){ print("![](", filepaths[i], ")" ) }

2 ответа

Решение

knitr::include_graphics() векторизован, поэтому ответ прост:

knitr::include_graphics(filepaths)

Ваше первое решение не работает, потому что knitr::include_graphics() должно быть выражением верхнего уровня. Ваше второе решение не работает, потому что вы должны использовать cat() вместо print()и вариант чанка results='asis',

Есть несколько преимуществ использования include_graphics() над cat() + results='asis',

Попробуйте использовать cat вместо include_graphics, Например:

for(i in 1:length(filepaths) {
    cat("![](", filepaths[i], ")")
}

Это общий синтаксис Markdown: ![NAME](PATH),
С этим решением вам нужно будет использовать results = "asis" в заголовке куска.

Другие вопросы по тегам