使用R创建动态列表以在闪亮中使用它

问题描述 投票:0回答:2

我需要格式化一个列表,以便列表项在我闪亮的应用程序上显示为单选按钮。下面是我的列表当前格式化的示例:

mylist = list("Choice 1"=1, "Choice 2"=2, "Choice 3"=3)

该列表应该动态生成。将查询该列表以确定正确的名称,以便替换“选择1”,“选择2”和“选择3”。

我曾尝试使用list<-append但它不解释变量名称。例:

var = "SimpleTest"
mylist=list()
mylist<-append(mylist,list(var=1))

电流输出:

# $var
# [1] 1

我想要的输出是:

$SimpleTest
[1] 1
r list append shiny
2个回答
1
投票

我在这里遇到了完全相同的问题:

varnames <-c("Choice 1","Choice 2","Choice 3")
mylist<- setNames(as.list(seq(1,length(varnames))),varnames)
mylist
$`Choice 1`
[1] 1
$`Choice 2`
[1] 2
$`Choice 3`
[1] 3

现在您可以动态更新selectInputs!


1
投票

我编辑了您的帖子以澄清问题并提高易读性。

如果我理解正确,您正在尝试更新该列表元素的名称(并且只有名称),其值为1。

mylist = list("Choice 1"=1, "Choice 2"=2, "Choice 3"=3)
var = "SimpleTest"
mylist
# $`Choice 1`
# [1] 1
# $`Choice 2`
# [1] 2
# $`Choice 3`
# [1] 3

如果是这样,以下代码将执行此操作。指定该列表元素的名称,其值为1,该字符串保存在变量var中:

names(mylist)[which(mylist==1)]=var
mylist
# $SimpleTest
# [1] 1
# $`Choice 2`
# [1] 2
# $`Choice 3`
# [1] 3
© www.soinside.com 2019 - 2024. All rights reserved.