gpt4 book ai didi

r - 如何将 Shiny 的输入值转换为 Shiny 的输出表

转载 作者:行者123 更新时间:2023-12-01 11:34:53 28 4
gpt4 key购买 nike

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

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

目的

以 Shiny 的形式呈现表格输出中的所有输入值,而无需手动编写每个输入变量

背景

Shiny 的输入对象是 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()

  • 移动电源
    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 的 react 对象转换为 R 中的“标准”对象,请使用函数 shiny::reactiveValuesToList()它将 S6 类更改为标准列表对象。

    然后可以将其包装在 as.data.frame 中或类似于强制到一张 table 。

    关于r - 如何将 Shiny 的输入值转换为 Shiny 的输出表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28166730/

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