首页 > 解决方案 > 从 RStudio 运行命令 Exams2html() 时不会生成 HTML 页面?

问题描述

我不知道为什么exams2html()当我从 RStudio 运行命令时不生成 HTML 页面,但是当我从 R 本身运行时它很好。R 和 RStudio 都更新到最新版本。我看到了 Zeileis 等人。(2014) 在他们的论文“R...中灵活生成电子学习考试”中提到了一个类似的问题。但我不清楚为什么最新版本会发生这种情况?有谁知道如何解决这个问题?谢谢!

标签: rrstudior-exams

解决方案


我的一位同事最近在使用 R 4.0.0 和当前 RStudio 的 Windows 10 下报告了类似的行为。我们可以将其归结为browseURL()不在与 R 会话关联的默认临时目录中工作。也许你有同样的问题。

对他来说,以下工作:

library("exams")
exams2html("swisscapital.Rmd", dir = ".")
browseURL("plain1.html")

这会plain1.html在当前工作目录 ( ".") 中创建输出 HTML 文件,然后使用 . 在浏览器中手动打开该文件browseURL()

默认情况下(不带dir=参数),exams2html()本质上在tempdir(). 在我同事的机器上,基本上所有步骤都有效,但 `browseURL() 无法打开成功创建的 HTML 文件。

如果您也遇到这种情况,您可以尝试以下方法:

exams2html("swisscapital.Rmd")

plain1.html它应该在以下子目录中创建至少一个副本tempdir()

dir(tempdir(), recursive = TRUE)

如果是这样,您可以尝试从 R 中打开该文件

browseURL(dir(tempdir(), "plain1.html", recursive = TRUE, full = TRUE)[1])

或手动。对我的同事来说,手动打开文件(例如,通过 Windows 资源管理器)有效,但browseURL()没有。

不幸的是,到目前为止,我对这个问题的了解就这么多……这可能与 RStudio 浏览器有关,但我们还没有进一步探索。

至于 Zeileis 等人描述的问题。(2014):这个问题很久以前就被 RStudio 修复了。不过,您可以尝试查看如果设置:options(browser = NULL)在运行之前会发生什么exams2html()

也欢迎任何其他指针。


推荐阅读