命令 exams2html() 在来自 RStudio 的 运行 时不生成 HTML 页面?

The command exams2html() does not generate HTML page when it is run from RStudio?

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

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

以下方法对他有效:

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

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

默认情况下(没有 dir= 参数),exams2html()tempdir() 中的专用临时子目录中基本上做同样的事情。在我同事的机器上,基本上所有步骤都有效,但 `browseURL() 无法打开成功创建的 HTML 文件。

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

exams2html("swisscapital.Rmd")

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

dir(tempdir(), recursive = TRUE)

如果是这样,您可以尝试从 R

中打开该文件
browseURL(dir(tempdir(), "plain1.html", recursive = TRUE, full = TRUE)[1])

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

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

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

也欢迎任何其他指点。