R,闪亮的动态数据操作并根据条件选择行

时间:2016-11-29 22:17:55

标签: r shiny

我在mongodb服务器上有一个csv文件。我使用以下代码片段在R shine中阅读它,

 library(shiny)
    shinyServer(

      function(input,output,session)
      {
        dataf <-eventReactive(input$load, {
              con <- mongo(collection = "recent", url = "mongodb:some url")
              mydata <- con$find()
            })
    output$variables = renderUI({
      selectInput('variables', 'Choose the device', outVar())
    })
    outVar <- reactive({      
        devices <- dataf()
        ds <- devices$`Source`
        return(unique(ds))
    })
      }

dataf包含类似的内容,

serial no    source target r_no
1              A      B     4
2              B      C     9
3              A      E     3
4              B      A     6
5              A      F     7
6              C      G     2

现在,我想只选择与用户在ui.R上的下拉列表按钮中选择的特定用户输入相对应的行。

假设用户选择“A&#39;然后我有整个行只有A作为源。喜欢,

serial no    source target    r_no
    1              A      B     4
    3              A      E     3
    5              A      F     7

我的ui.R如下:

library(shiny)
library(mongolite)

shinyUI(fluidPage(

  titlePanel(title=h3()),
  sidebarLayout(
    sidebarPanel(
      uiOutput("variables"),
      br(), width = 3),
    mainPanel(uiOutput("tb"))               
  )
)
)

如何在R闪亮中实现这一目标?请告诉我。感谢。

1 个答案:

答案 0 :(得分:0)

你在outVar非常接近,

在server.R中添加了shinyServer函数:

outVar <- reactive({ 

  mongo_results <- dataf()

  output <- mongo_results[which(mongo_results[,'source'] == input$variables),]

  return(output) 

})