闪亮的打印反应df到控制台(glimpse(myreactive_df)用于调试目的?

时间:2018-02-03 00:57:56

标签: r shiny

我正在尝试调试我的Shiny应用程序,并希望查看一个反应数据框,例如一瞥(DF)。

最初我尝试创建一个断点,然后通过我的反应df查看环境是在server.r中使用时不是对象的值。我也试过browser(),但不确定它会做什么。

我在SO上搜索并使用sink(),renderPrint()尝试了各种各样的东西,但没有成功。

运行应用程序时如何将glimpse(some_reactive_df())的内容打印到控制台?

1 个答案:

答案 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的其他地方使用被动反应,否则它将无法工作。