【问题标题】:How to get value of selectinput and show a variable data in another selectinput with shiny如何获取 selectinput 的值并在另一个 selectinput 中显示变量数据
【发布时间】:2016-11-05 23:34:59
【问题描述】:

我想检索用户选择的值,所以我把这段代码放在函数里面的 server.R 中

selected_value <- input$valtext
A <-Filter (catalog, gene_name == selected_value)
B <-select (A,snp)

valtext : 是我的 selectizeinput 的 id

然后我想通过用户显示 selected_value 的 snp 对应 (B) 在“选择”中的另一个 selectizeinput 中,但为此我需要检索变量 B:

selectizeInput( 
  'snpvalue', 'Choisir le snp a visualiser :', choices = "" ,
  multiple = TRUE, options = list(maxItems = 2)
      )

我的问题是我在数据中看不到 B,似乎没有任何变化!没有任何执行,因为如果我有我的变量 B,我可以很容易地在我的 selectizeinput 中显示它

【问题讨论】:

  • 您需要使用renderUI从服务器端创建用户界面。
  • @warmoverflow 我不懂你
  • 我的问题,在我的函数响应中似乎没有执行任何操作,我的意思是我还没有我的变量 (B) 能够在我的参数中调用它(选择)
  • 您的第二个 selectizeinput 在 ui.R 中,但您无法在 ui.R 中使用或查看 server.R 的任何结果(这是设计使然)。要解决这个问题,您需要在 ui.R 中创建一个 uiOutput,然后在 server.R 中使用 renderUI 来动态呈现您的第二个 selectizeinput
  • @warmoverflow ,我应该在 uiOutput 和 renderUI 中写什么?请给我确切的代码

标签: r shiny rstudio


【解决方案1】:

ui.R 中,将第二个selectizeInput 替换为

uiOutput('snpselect')

server.R,添加

output$snpselect <- renderUI({
  selected_value <- input$valtext
  A <- Filter (catalog, gene_name == selected_value)
  B <- select (A,snp)
  selectizeInput( 
    'snpvalue', 'Choisir le snp a visualiser :', choices = B, multiple = TRUE, options = list(maxItems = 2)
  )
})

【讨论】:

  • 我试图做你给我的,但我得到了这个错误:找不到模式'function'的对象'f'?
  • 警告:获取错误:找不到模式“函数”的对象“f”堆栈跟踪(最内层优先):87:获取 86:match.fun 85:lapply 84:unlist 83:过滤器82: renderUI [myapp.R#76] 81: func 80: origRenderFunc 79: output$snpselect 4: 3: do.call 2: print.shiny.appobj 1: print
  • 这可能是您有一个名为Filter 的对象与函数Filter 发生冲突,但没有您的完整代码很难判断。
猜你喜欢
  • 2016-04-28
  • 2017-10-19
  • 2016-01-10
  • 1970-01-01
  • 2013-10-01
  • 1970-01-01
  • 2021-01-22
  • 2021-03-24
相关资源
最近更新 更多