在ShinyApp中过滤结果

时间:2017-12-06 11:26:39

标签: r shiny

我有一个闪亮的应用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())
    )
  })

1 个答案:

答案 0 :(得分: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)
    )
  })