我正在将“OpenIntro::现代统计教程简介”翻译成德语。我使用下载的 .zip 教程来执行此操作:https://openintrostat.github.io/ims-tutorials/。这些教程是以 .Rmd 文件形式编写的 learnr::tutorials。在教程 3 第 8 课中,我遇到了无法解决的错误。
在学习本教程时,您会遇到
plot_ly()
功能四次。但它只能按预期工作一次(在一次会话中)。再次使用该函数,出现一条错误消息:“verbose 必须为 TRUE 或 FALSE”。在 RStudio“渲染”窗格中:“从第 11-44 行退出 [ex5-babies-plotly] (exercise.Rmd)”。这指向{r setup}
,但也让我想知道,因为verbose = FALSE
。
knitr::opts_chunk$set(fig.align = "center",
fig.height = 3,
fig.width = 5,
echo = FALSE,
message = FALSE,
warning = FALSE,
verbose = FALSE)
在 RStudio 中运行
plot_ly
几次是没有问题的。
在shinyapps上的
original中运行
plot_ly
几次也可以。
我尝试将
knitr::opts_chunk$set(verbose = FALSE)
作为使用 plot_ly()
函数的块中的第一行。没成功!
一切都是最新的。
我不明白为什么它只在第一次起作用。你有解释吗? 你知道解决这个问题的方法吗?
这并不能解决实际问题,它只是一种解决方法。
有关修复的唯一相应信息将责任归咎于软件包
data.table
。 (您可以在here阅读有关内容。)显然,data.table
不是问题所在。不幸的是,我不完全确定问题是什么。
我提供的修复方法是在每次调用绘图之间卸载 Plotly 库。您可以让这些块不可见,这样读者就不会知道它们的存在。我鼓励您为自己留下评论,以便您记住为什么这些评论会在这里。
这是英文版本的摘录,以及我提供的修复程序。
```{r unsetter, include=F}
unloadNamespace("plotly")
```
```{r ex3-mariokart, exercise=TRUE}
# load plotly package
library(plotly)
# draw the 3D scatterplot
p <- plot_ly(data = mariokart, z = ~ ____,x = ~____, y = ~____, opacity = 0.6) |>
add_markers()
# draw the plane
p |>
add_surface(x = ~x, y = ~y, z = ~_____, showscale = FALSE)
```
请注意,我已设置
include=FALSE
,以便用户看不到它。此外,再次卸载后我没有调用该库,因为它是在用户可见的代码中调用的。