Can one use an R Markdown chunk loop to show multiple graphics files (e.g., PNG) consecutively (one above the other) in HTML output? This loop would identify the files in a vector, such as via list.files()
.
I have experimented with uses of writeLines("\n")
, cat('\r\n\r\n')
, knit_expand()
[per this SO to no avail].
This R Markdown code (formatted below but link is .Rmd) is a reproducible example with an attempt using writeLines("\n")
and cat('\r\n\r\n')
. Please note this copies 5 R logo PNG (only 12kb) file copies into your working directory.
title: "Consecutive PNG Loop Attempt"
author: "Rick Pack"
date: "11/20/2019"
output: html_document
knitr::opts_chunk$set(echo = TRUE)
Copy a PNG file as multiple files
for (q in 1:5) {
file.copy(list.files(system.file("img", package = "png"),
full.names = TRUE),
getwd())
file.rename("Rlogo.png", paste0("Rlogo_",q,".png"))
}
Only one R logo shown instead of the five available
library(png)
# Providing the folder so you can delete the png files
# created above
print(getwd())
all_img <- list.files(full.names = TRUE)[grepl(
"Rlogo", list.files())]
for (j in 1:length(all_img)) {
grid::grid.raster(readPNG(all_img[j]))
writeLines("\n")
cat('\r\n\r\n')
cat("\n\n\\pagebreak\n")
}