我在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闪亮中实现这一目标?请告诉我。感谢。
答案 0 :(得分:0)
你在outVar非常接近,
在server.R中添加了shinyServer函数:
outVar <- reactive({
mongo_results <- dataf()
output <- mongo_results[which(mongo_results[,'source'] == input$variables),]
return(output)
})