繁体   English   中英

用于 selectInput 的 R 闪亮加载 data.frame

[英]R shiny load data.frame for selectInput

我正在尝试编写一个加载多个数据框的闪亮应用程序。 我的绘图的数据框都工作得很好,但是我想用作下拉菜单中选项列表的一个 data.frame 没有加载。 如果我在 R 会话中单独加载框架,一切正常,但如果我只运行闪亮的应用程序,选择器将不会更新。

library(shiny)

ui <- fluidPage(
               #...
               selectInput("mats", "Text",
                           selectors)
               # ...
)

server <- function(input, output){
     # ...
     df1=read.csv("./data/file.csv", sep=";", head=T, stringsAsFactors = F)
     df1$choices=as.character(df1$choices)
     selectors=c("All", df1$choices)
     #...
}

shinyApp(ui = ui, server = server)

我想,我需要服务器功能中的选择器,所以我将数据框与其他数据框一起加载到那里。 那是正确的地方吗,我需要做什么才能让它运行?

最好的事物

您的代码存在许多问题:

  1. 根据文档, selectInput choices应该是一个列表。
  2. 如果你想创建一个跨用户uiserver可用的元素,请考虑阅读有关 Shiny 中作用域规则的链接文章,并在global.R定义你的对象。

关于第一点,如果您打算使用data.frame列作为菜单选择的基础,您可以应用以下转换:

my_new_list <- split(df$id, df$subject)

正如@user3710546我过去问过的类似问题的回答所提供的那样


边注

请考虑查看关于在R 中制作可重现示例的讨论如果您想使用一些公开可用的数据重做您的示例,那么生成解决方案将很容易。 如果我理解正确的话,你想使用data.frame列作为UI元素的基础,这本身并不难。

.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM