我正在创建一个闪亮的应用程序,其功能取决于单选按钮。我试图在radioButtons函数的 choices 参数中设置它们。这是我在ui.R中的一个例子:
radioButtons("action",label=h3("Action"),
choices=list(
"Sum"=sum,
"Mean"=mean))
我收到了下一个错误:
错误:'匹配'需要矢量参数
我知道我可以使用 server.R 中的开关功能来设置功能,但我想做这样的事情:
lst=list("Sum"=sum,"Mean"=mean)
lst[[1]](x)
lst[[2]](x)
R当然可以正常使用。
答案 0 :(得分:2)
你做不到这样的事情。作为choices
参数传递的列表的名称和值将呈现为HTML并执行此操作,必须转换为character
,并且从创建的输入返回的值也是characters
。使用查找表是一个非常匹配的唯一合理选项。
另一种方法是将choices=list("Sum"="sum", "Mean"="mean")
与eval(parse(..))
结合使用,但在这种情况下这是一个非常糟糕的主意,因为它为用户提供了执行任意R的能力服务器上的命令。