【发布时间】:2019-12-27 22:11:15
【问题描述】:
我有一个使用 flexdashboard 创建的应用程序。我将我的 R 代码包含在不同的块中(以及闪亮和 flexdashboard 组件)。
如果我尝试运行我的应用程序(使用 rmarkdown::run 从批处理文件或直接从 Rstudio 运行,这并不重要)而不首先更改 Rmd 文件(只是多了一个空格),应用程序会加注星标,但块没有运行。 基本上只显示静态页面,我看到闪亮的服务器(在这种情况下是我的电脑)处于“监听”状态。 此时,我对按钮下拉列表所做的任何交互都不会影响应用程序。
如果 Rmd 文件是最新的,则似乎不会运行块。有没有办法强制执行?我不明白我做错了什么。
如果我对 rmd 进行虚假修改并保存它,那么所有的块都会被执行并且应用程序会完美运行....
我通过批处理文件使用以下代码运行我的应用程序:
"D:\Data\v101285\Programs\R\R-3.5.2\bin\i386\R.exe" -e "rmarkdown::run('D:/Data/v101285/Marco/09_R_Projects/02_InteractiveRiskViewer/InteractiveRiskViewer.Rmd', shiny_args = list(launch.browser = TRUE))"
非常感谢您的支持
编辑: 为了避免缓存问题,正如 cmets 中所建议的那样,我在每个卡盘中都包含了 cache=FALSE,但问题仍然存在。我注意到 Rmarkdown 会在“C:\Users.....\AppData\Local\Temp....\rmarkdown\”下为每次运行创建一个临时文件夹。如果我删除所有文件,则运行块并且应用程序可以运行。有没有办法避免这个临时文件?
【问题讨论】:
-
你能详细说明你的问题吗?现在我不清楚问题是什么。通常,如果您修改代码,则必须终止该会话并重新启动它。
-
我放大了我的问题描述。也许现在更清楚了。请如果仍然不清楚我尝试包含代码和屏幕截图。非常感谢!!
-
感谢您更详细地描述问题。我想我了解问题所在,但我没有解决方案,抱歉。您是否尝试过将 Rstudio 更新为 daily build?
-
我正在使用最新版本的 Rstudio,它与 R 32bit 兼容,因为我们公司 DB 的 oracle 驱动程序是 32bit。但如果问题是 Rstudio,那么应用程序至少应该以批处理方式运行。我不知道如何强制执行块。您如何运行您的应用程序?
-
会发生缓存吗?
标签: r shiny r-markdown flexdashboard