R/Shiny 的 SelectInput "Selected" 不起作用
Posted
技术标签:
【中文标题】R/Shiny 的 SelectInput "Selected" 不起作用【英文标题】:The SelectInput "Selected" for R/Shiny is not working 【发布时间】:2020-07-08 12:42:50 【问题描述】:我正在构建一个显示 COVID-19 统计数据的 Shiny 应用程序。现在,我正在尝试设置默认的 selectInput; selected == "World",带有 data$location,但由于某种原因,它将自己设置为数据框中的第一个位置,即 "Afghanistan"。
selectInput(
"country",
"Country:",
choices =
data$location,
selected =
data$location == "World"
)
非常感谢。
【问题讨论】:
【参考方案1】:你可以试试selected = "World"
代替selected = data$location == "World"
【讨论】:
当我更改为 (selected = "World") 时,它在 selectInput 框中不返回任何值,而之前的 (selected = data$location == "World") 则返回 "阿富汗” 嗯,很难说为什么它不能默认为“世界”。我对 selectInput 也有类似的意外行为。不过,这款应用做得很好! 我找到了解决方法 :) 我不得不从 data$location 更改为 dataToday$location。 dataToday 是匹配 X 日期的数据框的子集; X 是今天的日期。也许它无法从 data$location 中检索到它,因为“数据”数据框中有多个“世界”位置。【参考方案2】:将 data$location 更改为 dataToday$location。
dataToday 是数据框“data”的子集,只有一行日期;该行是今天的日期。
我的想法是 selectInput 无法从 data$location 检索“World”,因为有多个“World”行名。通过对数据进行子集化并且只有一行名为“World”,它能够成功检索到它。
【讨论】:
【参考方案3】:就我而言,当我使用selected = NULL
时,我无法在自己的主代码中执行此操作,但选择列表始终显示列表中 data.frame 上的第一个列表。
但如果我现在写代码,用简单的代码,我可以使用selected = NULL
,选择列表将是空白的。
【讨论】:
以上是关于R/Shiny 的 SelectInput "Selected" 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
R/Shiny 的 SelectInput "Selected" 不起作用
在 R/Shiny 中通过 selectInput() 传递变量名的问题
R/Shiny 应用程序中的三个相互依赖的 selectInput