我建议您首先制作一个带有Slidy 或其他HTML 演示格式输出的R Markdown 文档。只需在其中包含一两张幻灯片,然后播放直到格式正确为止。
然后编写一个 R 函数,将标题和所需数量的幻灯片输出到文件,然后在该文件上调用 rmarkdown::render()。您的 R 函数可以将您最终放入 Slidy 应用程序中的所有特征(如 Category)作为输入。
为了让您入门,这里有两张幻灯片 Slidy 演示文稿:
---
output: slidy_presentation
---
##
<div style="font-size:300%;position:absolute;top:50%;left:50%;transform: translate(-50%,-50%)">
ban
</div>
##
<div style="font-size:300%;position:absolute;top:50%;left:50%;transform: translate(-50%,-50%)">
bat
</div>
前 3 行是标题;之后,幻灯片以## 标记开始。如果要自定义,请参阅 Slidy 文档。
一旦你在你的 R 函数中工作,你可以编写一个闪亮的应用程序,在菜单中提供选择然后调用该函数。
编辑添加:由于各种原因,事实证明xaringan 不太适合这个,所以我将所有内容切换到Slidy。下面的函数使用了 Slidy。
makeSlideDeck <- function(words, outfile = "slides.html") {
header <- '---
output: slidy_presentation
---'
slide <- '##
<div style="font-size:300%;position:absolute;top:50%;left:50%;transform: translate(-50%,-50%)">
WORD
</div>'
lines <- character(length(words) + 1)
lines[1] <- header
for (i in seq_along(words))
lines[i + 1] <- sub("WORD", words[i], slide, fixed = TRUE)
filename <- paste0(tools::file_path_sans_ext(outfile), ".Rmd")
writeLines(lines, filename)
rmarkdown::render(filename)
}
像这样运行它:
dat <- c("ban","bat","can")
makeSlideDeck(dat)
它将生成slides.Rmd 并将其处理成slides.html,其中将包含您的幻灯片。