0

我在 R 方面有一些经验。我正在尝试制作用于远程学习的抽认卡幻灯片。我需要在我的屏幕上显示幻灯片供我的学生阅读,并快速翻阅它们。

我有一个大约 4,000 个单词的列表,分为不同的类别。我希望能够对类别进行过滤,并构建一个幻灯片平台,每张幻灯片上都有一个单词。

天上掉馅饼的目标将是一个闪亮的应用程序,有一个下拉菜单来选择类别,然后是一个复选框来选择要包含在幻灯片中的单词,然后生成一个 html 幻灯片。

以下是我正在使用的单词列表示例:

词类 | 词 | 指数


做空CVC | 禁令| 1

做空CVC | 蝙蝠 | 1

做空CVC | 可以| 1

4

1 回答 1

1

我建议您首先制作一个带有Slidy或其他 HTML 演示格式输出的 R Markdown 文档。只需在其中包含一两张幻灯片,然后玩它直到格式看起来正确。

然后编写一个 R 函数,将标题和所需数量的幻灯片输出到文件,然后调用rmarkdown::render()该文件。您的 R 函数可以将Category您最终放入 Slidy 应用程序的所有特征作为输入。

为了帮助您入门,这里有一张两张幻灯片的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,其中将包含您的幻灯片。

于 2020-04-07T13:09:13.097 回答