如何在使用runApp()时运行所有闪亮的代码
我有一个长而闪亮的仪表板,工作正常。仪表板对数据进行整理,进行预测,并生成不同的图表。仪表板上有一个按钮,可以使用rmarkdown生成pdf报告 我想每天自动生成此报告。当对象如何在使用runApp()时运行所有闪亮的代码,r,shiny,R,Shiny,我有一个长而闪亮的仪表板,工作正常。仪表板对数据进行整理,进行预测,并生成不同的图表。仪表板上有一个按钮,可以使用rmarkdown生成pdf报告 我想每天自动生成此报告。当对象报告为真时,我尝试创建并呈现pdf文件的观察者。然后,当我运行应用程序时,我将参数report传递为TRUE: launch_app <- function(report = FALSE){ library(shiny) shinyOptions(report = report) shiny::runA
报告
为真
时,我尝试创建并呈现pdf文件的观察者。然后,当我运行应用程序时,我将参数report
传递为TRUE
:
launch_app <- function(report = FALSE){
library(shiny)
shinyOptions(report = report)
shiny::runApp("app.R", host = "0.0.0.0", port = 1222, launch.browser = FALSE)
}
launch_app(report = TRUE)
launch_app为什么不使用使用knitr生成RMarkdown报告的脚本呢?我的意思是,如果你没有与你的闪亮仪表板交互,你需要自动化,那么我根本不明白为什么要使用闪亮。因为应用程序有不同的绘图,一个绘图的数据用于其他绘图的计算,等等。去掉应用程序的所有结构将是痛苦的,我将不得不维护应用程序和脚本。仪表板总是在闪亮的服务器上运行,用户可以与之交互。我相信您可以使用闪亮::testServer
来控制一些服务器端功能。然后,您可以使用会话$setInputs来控制UI输入。然而,testServer
主要用于测试单个模块。我不确定你用的是什么结构。。另一种选择是使用一些无头浏览器工具,编写一系列UI输入脚本(这就是你告诉我们的过滤器和争论),最后“按下”按钮。我想使用rvest
与已经运行的应用程序版本交互,并从中下载文件。为此启动单独版本的仪表板似乎还很粗略。我尝试了testServer()
,但没有成功。报告使用所有默认过滤器和值完成,因此无需更改UI。我也使用shinytest朝这个方向工作,但它不起作用。