如何将闪亮的输入值转换为闪亮的输出表

Posted

技术标签:

【中文标题】如何将闪亮的输入值转换为闪亮的输出表【英文标题】:How to convert shiny input values into a shiny output table 【发布时间】:2015-01-27 09:10:47 【问题描述】:

我有一个闪亮的应用程序,它有很多输入值。我希望输入值易于阅读和/或导出,因此我想将它们放入表格格式。

以前,我有data.table(a=input$a,b=input$b,...),但这不是一种非常有效的做事方式。

目标

以闪亮的形式在表格输出中显示所有输入值,而无需手动编写每个输入变量

背景

一个闪亮的输入对象是str

List of 1
 $ impl:Classes 'ReactiveValues', 'R6' <environment: 0xf798e60> 
 - attr(*, "readonly")= logi TRUE
 - attr(*, "class")= chr "reactivevalues"
rbindlist 导致错误:Item 1 of list input is not a data.frame, data.table or list 类似地as.data.frame 得到:cannot coerce class ""reactivevalues"" to a data.frame 然后我找到了ReactiveValuesToList(),文档称其工作方式类似于as.list(),但该对象不会转换为内部rbindlist()

MWE

server <- function(input, output) 
  output$distPlot <- renderPlot(
    hist(rnorm(input$obs), col = 'darkgray', border = 'white')
  )

  # This is the bit I'm having trouble getting to work
  output$inputvals<-renderTable(
    as.data.frame(reactiveValuesToList(input))
  )


ui <- shinyUI(fluidPage(
  sidebarLayout(
    sidebarPanel(
      sliderInput("obs", "Number of observations:", min = 10, max = 500, value = 100)
    ),
    mainPanel(plotOutput("distPlot"), tableOutput("inputvals"))
  )
))

shinyApp(ui = ui, server = server)

【问题讨论】:

它对我有用。你用的是什么版本的shiny shiny_0.10.2.2 - 现在将清理我的环境位并发布完整的 sessionInfo() 完全清除并且成功了,讨厌的 PICNIC。 【参考方案1】:

要将 Shiny 中的反应性对象转换为 R 中的“标准”对象,请使用函数 shiny::reactiveValuesToList() 将 S6 类更改为标准列表对象。

然后可以将其包装在 as.data.frame 中或类似强制到表格中。

【讨论】:

以上是关于如何将闪亮的输入值转换为闪亮的输出表的主要内容,如果未能解决你的问题,请参考以下文章

为 DT 输出渲染文本输入时出现 R 闪亮错误

闪亮:从具有多个值的 textInput 中子集表

如何使用闪亮的输入/输出读取向量?

如何在闪亮中使用 lapply 存储输出?

如何从闪亮写入 bigquery 表?

闪亮:如何输入用双引号(“)分隔的文本字符串列表