【问题标题】:r shiny add element dynamically to reactive valuer闪亮将元素动态添加到反应值
【发布时间】:2019-06-04 03:43:43
【问题描述】:

我正在尝试学习如何使用闪亮的模块来简化我拥有的凌乱闪亮的应用程序。该应用程序当前使用如下名称列表读取多个数据集:

dataSetsToLoad <- c("set1name", "set2name", "etc")
for (i in 1:length(dataSetsToLoad) {
dt <- readRDS(paste0(dataSetsToLoad[i], ".RDS")
assign(dataSetsToLoad[i], dt)
}

这些最终在全局环境中,并且可供我所有的非模块化代码访问。

按照here 的代码模式,我想将上面的内容修改为如下内容

stash = reactiveValues()
 for (i in 1:length(dataSetsToLoad) {
      stashVar <- paste0("stash$", dataSetsToLoad[i])
      dt <- readRDS(paste0(dataSetsToLoad[i], ".RDS")
      assign(stashVar, dt)
}

总结的问题是如何将 dt 放入与 stashVar 中动态创建的名称反应的存储中。第二个问题是是否有任何方法可以在不实际运行闪亮的应用程序的情况下对其进行测试。

【问题讨论】:

  • save(df2, df1, file = "data.RData")。你知道你可以做这样的事情吗?您可以在一个 RData 文件中轻松保存和加载多个 data.frame。
  • 这个很有用!谢谢!但我看不出它如何解决我将数据放入存储的问题。

标签: r shiny


【解决方案1】:

你可以做这样的事情。将数据帧存储在列表中,然后将它们循环分配给reactiveValues()

dflist <- list(mtcars, airquality, mtcars)

library(shiny)

# Define UI for application that draws a histogram
ui <- fluidPage(

    # Application title
    titlePanel("Old Faithful Geyser Data"),

    # Sidebar with a slider input for number of bins 
    sidebarLayout(
        sidebarPanel(
            sliderInput("bins",
                        "Number of bins:",
                        min = 1,
                        max = 3,
                        value = 3)
        ),

        # Show a plot of the generated distribution
        mainPanel(
           plotOutput("distPlot")
        )
    )
)

# Define server logic required to draw a histogram
server <- function(input, output) {

    values <- reactiveValues()

    for(i in 1:length(dflist)) {
        values[[paste0("df_", i)]] <- dflist[[i]]
    }

    observeEvent(input$bins, {
        print(values$df_1)
        print(values$df_2)
        print(values$df_3)
    })


}

# Run the application 
shinyApp(ui = ui, server = server)

【讨论】:

    猜你喜欢
    • 2015-01-09
    • 2018-11-12
    • 2014-06-07
    • 2019-07-19
    • 1970-01-01
    • 2019-05-01
    • 2019-02-15
    • 2016-02-25
    • 2017-05-05
    相关资源
    最近更新 更多