有谁知道在运行闪亮的应用程序时是否能够访问 R 控制台? (如果可能的话,在后台运行闪亮的应用程序也会有帮助)
我需要这个来操作 .GlobalEnv 中的对象,这些对象在闪亮的应用程序中使用,并且必须使用命令行来完成。
启动应用程序时,控制台很忙。是否可以从应用程序内部访问控制台?
提前致谢!
R(和闪亮的)以单线程运行。该线程由闪亮的应用程序使用,因此只要应用程序运行,您就无法与 R 交互。如果你想在闪亮的会话期间运行交互式命令,你需要放置一个browser()
正如@eric-canton 所提到的,在您的应用程序中。
一个非常简单的应用程序可能如下所示
library(shiny)
d <- data.frame(1:10, 1:10)
ui <- fluidPage(
actionButton("browser", "Trigger browser()"),
actionButton("reload", "Reload Plot"),
plotOutput("plot")
)
server <- function(input, output, session) {
observeEvent(input$browser, {
browser()
1 + 1
})
output$plot <- renderPlot({
input$reload
plot(d)
})
}
shinyApp(server = server, ui = ui)
关于代码的一些评论
- I put
1 + 1
之后browser()
命令因为设置browser()
根据我的经验,最后一个参数往往会意外地停止交互式终端
- 您需要一些闪亮的事件来触发绘图的重绘,因为
d
不是无功值
- 如果您在控制台上,则需要为
d
通过使用<<-
运算符因为d
位于您正在调用的函数之外:
Browse[2]> d <<- data.frame(x = 1:200, y = 200:1)
- 您可以通过输入跳出交互式控制台并恢复应用程序
c
并按 Enter 键
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)