我正在尝试使用checkboxGroupInput
函数动态生成Shiny
接口中的renderUI
。
checkboxGroupInput
需要list
才能进行选择。我从数据框中提取了一个列,我想将其作为框的选项显示,列看起来像(转换为带有as.list()
的列表)
str(A)
List of 1
$ B: num [1:4] 0 5 1 10
我希望将A
转换为类似
A <- list("0" = 0, "1" = 1, "5" = 5, "10" = 10)
,即按升序排列的命名列表,以便我可以将其提供给choices = A
中的checkboxGroupInput
。
我不知道如何继续这样做,任何帮助将不胜感激!
谢谢!
答案 0 :(得分:2)
(我确实想知道你是不是要用[["B"]]
而不是[1]
或["B"]
来提取,因为你得到的是列表而不是向量。)有了这个结果你首先需要unlist
因为它是目前的单元素列表&gt;然后在该结果上使用as.list和setNames
:
A <- list(B=c( 0, 5, 1, 10))
setNames( as.list( sort( unlist(A))), sort(A$B))
#----output----
$`0`
[1] 0
$`1`
[1] 1
$`5`
[1] 5
$`10`
[1] 10