我正在尝试调试我的 Shiny 应用程序,并希望使用例如查看响应式(Reactive)数据框一瞥(df)。
最初我尝试创建一个断点,然后通过我的响应式(Reactive) df 查看环境,当在 server.r 中使用时,它是一个值而不是一个对象。我也试过 browser()
但不确定它会做什么。
我对 SO 进行了一些搜索,并使用 sink()、renderPrint() 尝试了各种方法,但没有成功。
如何打印 glimpse(some_reactive_df())
的内容当我运行我的应用程序时到控制台?
最佳答案
调用 print()
从内部reactive({})
表达会做到这一点。
library(shiny)
library(dplyr)
shinyApp(
ui <- fluidPage(
selectizeInput("cyl_select", "Choose ya mtcars$cyl ", choices = unique(mtcars$cyl)),
tableOutput("checker") # a needed output in ui.R, doesn't have to be table
),
server <- function(input, output) {
d <- reactive({
d <- dplyr::filter(mtcars, cyl %in% input$cyl_select)
print(glimpse(d)) # print from within
return(d)
})
output$checker <- renderTable({
glimpse(d()) # something that relies on the reactive, same thing here for simplicty
})
})
假设您通过让 Shiny 参与
server()
中的渲染,为 Shiny 提供运行(和重新运行)您感兴趣的 react 的理由。和 ui()
中的链接输出.这通常是我的调试场景的情况,但除非在 app.R
中的其他地方使用响应式(Reactive),否则它不会起作用。 .
关于r - 出于调试目的将 Shiny 的响应式(Reactive) df 打印到控制台 (glipse(myreactive_df)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48592901/