【问题标题】:Pass functions from radio buttons从单选按钮传递函数
【发布时间】:2015-10-16 21:06:57
【问题描述】:

我正在创建一个闪亮的应用程序,其功能取决于单选按钮。我试图在 radioButtons 函数的 choices 参数中设置它们。这是我在 ui.R 中尝试做的一个示例:

radioButtons("action",label=h3("Action"),
    choices=list(
        "Sum"=sum,
        "Mean"=mean))

我得到了下一个错误:

错误:“匹配”需要向量参数

我知道我可以使用 server.R 中的 switch 功能来设置功能,但我想做这样的事情:

lst=list("Sum"=sum,"Mean"=mean)
lst[[1]](x)
lst[[2]](x)

这在 R 中当然可以正常工作。

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    你不能做这样的事情。作为choices 参数传递的列表的名称和值将呈现为HTML,并且必须将其转换为character,并且从创建的输入返回的值也是characters。使用查找表是完全匹配的唯一合理选择。

    另一种方法是将choices=list("Sum"="sum", "Mean"="mean")eval(parse(..)) 结合使用,但在这种情况下这是一个非常糟糕的主意,因为它使用户能够在服务器上执行任意 R 命令.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-12
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 2017-12-05
      • 1970-01-01
      • 2015-10-04
      • 1970-01-01
      相关资源
      最近更新 更多