Does anybody know if one is able to access the R console when running a shiny app? (running the shiny application in background would also be helpful, if that\'s possible)
R (and shiny) run single-threaded. This thread is used by the shiny application so you cannot interact with R whenever the app is running. If you want to run interactive commands during a shiny session you need to put a browser()
inside your application like mentioned by @eric-canton.
A very simple application could look like this
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)
Some comments about the code
1 + 1
after the browser()
command because setting browser()
as the last argument tends to stop the interactive terminal unexpectedly in my experienced
is not a reactive valued
by using the <<-
operator because d
lives outside the function you are calling:Browse[2]> d <<- data.frame(x = 1:200, y = 200:1)
c
and hitting Enter