我正在尝试调试我的Shiny应用程序,并希望查看一个反应数据框,例如一瞥(DF)。
最初我尝试创建一个断点,然后通过我的反应df查看环境是在server.r中使用时不是对象的值。我也试过browser()
,但不确定它会做什么。
我在SO上搜索并使用sink(),renderPrint()尝试了各种各样的东西,但没有成功。
运行应用程序时如何将glimpse(some_reactive_df())
的内容打印到控制台?
答案 0 :(得分:2)
从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()
中的呈现以及ui()
中的链接输出。这通常适用于我的调试方案,但除非在app.R
的其他地方使用被动反应,否则它将无法工作。