在Shiny

时间:2015-10-05 22:36:51

标签: r shiny

我正在尝试使用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

我不知道如何继续这样做,任何帮助将不胜感激!

谢谢!

1 个答案:

答案 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