Ich habe Probleme bei der Anzeige der Ausgabe in Bezug auf meine SelectInput Selektoren. Ich machte zwei abhängige selectInput Selektoren: Position und Jahr. Was ich will, ist, die entsprechende Auswahl meines Datenrahmens mit Hilfe von dataTableOutput anzuzeigen.Zeige DataTable Ausgabe von mehreren abhängigen selectInputs
Zum Beispiel, die Wahl von Standort "2" und Jahr "2016" zeigt die Aufzeichnungen von Katy und William.
Das ist mein vereinfachte ui Abschnitt:
library(DT)
library(shiny)
library(shinydashboard)
Location = c("1","1","1","2","2","2","3","3","3")
Year = c(2015,2014,2016,2015,2016,2016,2017,2016,2014)
Person = c("John", "Ann", "Katy", "Ann", "Katy", "William", "Henry", "Luke", "Luke")
mockup = data.frame(Location, Year, Person)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
sidebarMenu(
menuItem("Selection", tabName = "selection")
)
),
dashboardBody(
tabItems(
tabItem(tabName = "selection",
fluidRow(
box(width = 5,
title = "TITLE", "Choose something",
collapsible = FALSE,
htmlOutput("Location_selector"),
htmlOutput("Year_selector")
),
mainPanel(
DT::dataTableOutput("selection")
)
))
)
)
)
und das ist mein Server Abschnitt:
server <- function(input, output, session) {
output$Location_selector = renderUI({
selectInput(inputId = "Location",
label = "Location:",
choices = as.character(unique(mockup$Location)))
})
output$Year_selector = renderUI({
data_available = mockup[mockup$Location == input$Location, "Year"]
selectInput(inputId = "Year",
label = "Year:",
choices = unique(data_available),
selected = unique(data_available)[1])
})
output$selection <- DT::renderDataTable({
})
}
shinyApp(ui, server)
Ich weiß, dass ich Sachen bin fehlt den nächsten Teil in Bezug auf, aber ich bin kann dies bisher nicht lösen:
output$selection <- DT::renderDataTable({
})
Ich hoffe, ihr könnt mir helfen. Danke im Voraus!
Was mit 'mit' (Mock-up, Mock-up [Jahr == Eingang $ Year & Location == Eingang $ Lage,]) falsch ist? – lukeA
Sie könnten versuchen, Teilmenge (Mockup, Location == Eingabe $ Location & Year == Eingabe $ Jahr) ' – SBista
Es ist nichts falsch daran. Funktioniert gut. Danke vielmals! EDIT: Teilmenge tut auch den Trick. – JohnDoedel