Passing R Shiny reactive SelectInput value to selectizeInput
"我的闪亮"应用程序使用来自鸟类图集的开放数据,包括按物种划分的经/纬度坐标。鸟类物种名称以不同的语言出现,并作为首字母缩写。
这个想法是用户首先选择语言(或首字母缩写词)。根据选择,Shiny呈现唯一鸟类名称的selectizeInput列表。然后,当选择一个物种,生成小叶地图。
我已经做了几个Shiny应用程序,但是这次我错过了一些显而易见的事情。当应用启动时,一切都很好。但是,是不是在选择一种新的语言重新呈现selectizeInput列表。
带有示例数据的所有当前代码都在此处作为GitHub Gist https://gist.github.com/tts/924b764e7607db5d0a57
如果有人可以指出我的问题,我将不胜感激。
问题在于
如果在
尝试在bird表达式中的
1 2 3 4 5 | birds <- reactive({ if( is.null(input$birds) ) return() data[data[[isolate(input$lan)]] == input$birds, c("lon","lat","color")] }) |
更改语言时,
除了使用
1 2 3 4 5 6 | selectizeInput( inputId ="birds", label ="Select species", multiple = F, choices = unique(data[["englanti"]]) ) |
然后在您的
1 2 3 | observe({ updateSelectizeInput(session, 'birds', choices = unique(data[[input$lan]])) }) |