【问题标题】:Filter results in ShinyApp在 ShinyApp 中过滤结果
【发布时间】:2018-05-20 06:28:02
【问题描述】:

我有一个闪亮的应用程序Item Correlation,它可以获取多个产品之间的相关性。 我只想得到大于零的值而不删除排序结果。 这是我的服务器代码:

server <- function(input,output){
  data<- reactive({
    input$Item
  })
  output$Itemcorr <- renderTable({
    DF %>% filter(FirstItem == data())  %>% arrange(desc(X.Correlation))
  })

  output$plot <- renderPlot({
    barplot(subset(DF$X.Correlation, DF$FirstItem == data()),main="X.Correlation Distribution", 
            xlab="SecondItems",ylab="Percent",xlim=c(1,60),ylim = c(0,100), col=c("darkblue","red"),names.arg =subset(DF$SecondItem, DF$FirstItem == data())
    )
  })

【问题讨论】:

  • 能否在代码中提到问题
  • 没有问题我想在其中添加新过滤器以仅获取 x.Correlation > 0 的值
  • 在这种情况下,%&gt;% filter(x.Correlation &gt; 0) 或在第一个 filter 中使用它,即%&gt;% filter(FirstItem == data(), x.Correlation &gt; 0) %&gt;%
  • 如何在 output$Itemcorroutput$plot 中同时使用它
  • 没有看到你之前的反应。您可以在反应式中添加那些,即DF %&gt;% filter(FirstItem == input$Item, x.Correlation &gt; 0) %&gt;% arrange(desc(X.Correlation)) 现在您可以在renderTableplot 中使用data()

标签: r shiny


【解决方案1】:

我们可以在这里做几件事,

1) 在同一 filter 中创建第二个条件

2) 在reactive 调用中,我们进行数据子集化

server <- function(input,output){

 data<- reactive({
    DF %>% 
       filter(FirstItem == input$Item, X.Correlation > 0) %>% 
       arrange(desc(X.Correlation))
    })

 output$Itemcorr <- renderTable({
    data()
  })

 output$plot <- renderPlot({
    barplot(data()$X.Correlation),main="X.Correlation Distribution", 
            xlab="SecondItems",ylab="Percent",xlim=c(1,60),ylim = c(0,100),
    col=c("darkblue","red"),names.arg =data()$SecondItem)
    )
  })

【讨论】:

    猜你喜欢
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多