gpt4 book ai didi

从 R Studio 运行一段时间后,R Shiny 应用程序自行关闭,但它仍在收听......这正常吗?

转载 作者:行者123 更新时间:2023-12-05 06:04:14 26 4
gpt4 key购买 nike

关于 R Shiny/R Studio 的一般问题...

我注意到,当我运行我的 R Shiny 应用程序时,到目前为止我编写的所有程序都按预期运行。但是,如果我在后台保持窗口打开并切换到使用其他工具(即 Excel、Chrome 等),或者有时即使我在窗口本身上,几分钟后窗口也会关闭本身。但是 R Studio 显示它仍在监听,并且在我按下停止按钮终止应用程序的现有运行之前它不会运行进一步的代码。

在开发应用程序时,这种行为在 R Studio 中是否正常,或者它是否表明我的代码有问题导致它消失?当它消失时,控制台中不会出现任何警告消息。我尝试使用我找到的一些基本示例代码运行另一个应用程序,但同样的事情发生了。

如果这是常见的事情,为什么会这样,有什么办法可以阻止这种情况吗?

示例代码可能不相关,但这是来自 RStudio 网站的示例应用程序 https://shiny.rstudio.com/articles/basics.html .此应用也会出现此问题。

ui <- fluidPage(

# App title ----
titlePanel("Reactivity"),

# Sidebar layout with input and output definitions ----
sidebarLayout(

# Sidebar panel for inputs ----
sidebarPanel(

# Input: Text for providing a caption ----
# Note: Changes made to the caption in the textInput control
# are updated in the output area immediately as you type
textInput(inputId = "caption",
label = "Caption:",
value = "Data Summary"),

# Input: Selector for choosing dataset ----
selectInput(inputId = "dataset",
label = "Choose a dataset:",
choices = c("rock", "pressure", "cars")),

# Input: Numeric entry for number of obs to view ----
numericInput(inputId = "obs",
label = "Number of observations to view:",
value = 10)

),

# Main panel for displaying outputs ----
mainPanel(

# Output: Formatted text for caption ----
h3(textOutput("caption", container = span)),

# Output: Verbatim text for data summary ----
verbatimTextOutput("summary"),

# Output: HTML table with requested number of observations ----
tableOutput("view")

)
)
)

# Define server logic to summarize and view selected dataset ----
server <- function(input, output) {

# Return the requested dataset ----
# By declaring datasetInput as a reactive expression we ensure
# that:
#
# 1. It is only called when the inputs it depends on changes
# 2. The computation and result are shared by all the callers,
# i.e. it only executes a single time
datasetInput <- reactive({
switch(input$dataset,
"rock" = rock,
"pressure" = pressure,
"cars" = cars)
})

# Create caption ----
# The output$caption is computed based on a reactive expression
# that returns input$caption. When the user changes the
# "caption" field:
#
# 1. This function is automatically called to recompute the output
# 2. New caption is pushed back to the browser for re-display
#
# Note that because the data-oriented reactive expressions
# below don't depend on input$caption, those expressions are
# NOT called when input$caption changes
output$caption <- renderText({
input$caption
})

# Generate a summary of the dataset ----
# The output$summary depends on the datasetInput reactive
# expression, so will be re-executed whenever datasetInput is
# invalidated, i.e. whenever the input$dataset changes
output$summary <- renderPrint({
dataset <- datasetInput()
summary(dataset)
})

# Show the first "n" observations ----
# The output$view depends on both the databaseInput reactive
# expression and input$obs, so it will be re-executed whenever
# input$dataset or input$obs is changed
output$view <- renderTable({
head(datasetInput(), n = input$obs)
})


}
shinyApp(ui, server)

最佳答案

我自己写了一些 Shiny 的应用程序,我以前没有遇到过这种行为,甚至在 RStudio 或我的完全不使用 rstudio 的独立 chrome 应用程序中也没有。

我第一眼看到的是,您没有在服务器中使用 session 对象。

function(input, output, session)

虽然 session 对象在后台处理与服务器的重新连接,但也许它也会处理与您的本地主机的重新连接。但我真的不知道。尝试集成它,如果错误仍然存​​在,我们必须查看您的系统和应用中安装的软件包。

Session object

关于从 R Studio 运行一段时间后,R Shiny 应用程序自行关闭,但它仍在收听......这正常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66422523/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com