【问题标题】:How to make slide deck in R based on a list?如何根据列表在 R 中制作幻灯片?
【发布时间】:2020-04-08 00:36:54
【问题描述】:

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

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

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

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

词类 |词 |索引


缩短 CVC |禁令| 1

缩短 CVC |蝙蝠 | 1

缩短 CVC |可以| 1

【问题讨论】:

  • 欢迎堆栈溢出。我建议您使用以下guidelines,以最大限度地提高您获得反馈的机会。如果您可以将数据放在表格中。 data.frame 或 data.table,那么过滤部分就相当简单了。如果你赶时间,可以考虑anki。
  • 你能具体说明你的数据是什么形式的吗?是csv吗?

标签: r slideshow ioslides


【解决方案1】:

我建议您首先制作一个带有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,其中将包含您的幻灯片。

【讨论】:

  • 这正是我想要的样子!谢谢。现在,如果我有一个长度为n 的列表,我怎样才能使幻灯片包含n 幻灯片数
  • 如:dat &lt;- c("ban","bat","can") 然后让每张幻灯片包含dat[1]、dat[2] 等。
猜你喜欢
  • 2020-09-21
  • 1970-01-01
  • 1970-01-01
  • 2018-06-04
  • 2015-06-02
  • 2022-06-14
  • 2015-10-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多