【问题标题】:In R Shiny, how do I pass multiple inputs to renderDataTable?在 R Shiny 中,如何将多个输入传递给 renderDataTable?
【发布时间】:2016-08-09 03:53:45
【问题描述】:

如何将多个输入传递给 renderDataTable?我可以让它为一个输入工作,但经过数小时的搜索后无法找到一个表有两个输入的示例。

一个输入(工作):

output$mytable1 = renderDataTable({data[data$plate == input$mytext,]}, ) 

我假设两个输入看起来像这样?但这是不正确的:

output$mytable1 = renderDataTable({data[data$plate == input$mytext, data[data$date == input$dateRange,]}, ) 

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    您的错误与闪亮或多个输入无关。您必须将输入(条件)与ORAND 等逻辑连接起来。以mtcars 数据集中的这个例子为例:假设你想获得马力大于 200 的 8 缸汽车

    如果你这样写: mtcars[mtcars$cyl == 8, mtcars$hp > 200,]

    在你的例子中你得到一个错误,因为 R 不知道你想做什么。

    如果你写 mtcars[mtcars$cyl ==8 & mtcars$hp > 200,] 你会得到想要的结果。

    【讨论】:

    • 谢谢你,你的例子很有帮助!
    【解决方案2】:

    如果你想过滤两个输入的数据,那么正确的代码是:

    output$mytable1 = renderDataTable({data[data$plate == input$mytext & data[data$date == input$dateRange,]} )
    

    逗号应该替换为逻辑运算符(我放了&)

    【讨论】:

    • 感谢您的回复
    猜你喜欢
    • 2016-10-13
    • 2015-11-09
    • 2019-11-14
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 2015-01-07
    相关资源
    最近更新 更多