Ich habe eine Frage über die Verwendung der CheckboxGroupInput. Wir möchten einen Filter erstellen, der die Monate der Daten aus dem Datenrahmen filtern kann. In der Filterfunktion von dplyr müssen wir als Beispiel c (1,2,3,4) < verwenden. Jetzt möchten wir dies mit einem checkboxGroupInput erzeugen, damit wir ausgewählte Monate in einem ggplot anzeigen können.checkboxGroupInput Wert für dplyr Filterung
Es arbeitet mit dem folgenden Code:
filter(Location == input$locatie & month(Month_StartConnection) %in% c(1,2,3,4))
c (1,2,4,5) mit dem checkboxGroupInput Eingang dynamisch sein muss.
Dank
## app.R ##
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Basic dashboard"),
dashboardSidebar(
sidebarMenu(
menuItem("Test", tabName = "KPI", icon = icon("dashboard")),
menuItem("Widgets", tabName = "widgets", icon = icon("th"))
)
),
dashboardBody(
tabItems(
# First tab content
tabItem(tabName = "KPI",
fluidRow(
checkboxGroupInput(inputId = "seizoen", label = "Seizoen", choices = list("Alle Maanden", 1,2,"mrt","apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"), value = TRUE),
selectInput(inputId = "locatie",
label = h3("Locatie"),
choices = c("Speerpunt","Museum","Strandweg", "Zwarte pad", "Prins Clauslaan", "Prinsessegracht", "Fluwelen Burgwal", "Kranestraat", "Heulstraat", "Kneuterdijk", "Hoge Nieuwstraat", "Kijkduin", "De Uithof", "Zwembad het Hofbad", "Kyocera stadion", "Stadhuis"),
selected = 1
),
plotOutput("ggplot", height = 600, width= 600)
)
),
# Second tab content
tabItem(tabName = "widgets",
h2("Widgets tab 1")
)
)
))
server <- function(input, output) {
output$ggplot <- renderPlot({
print(
Merge_Charge_Point %>%
select(Charge_Point_ID, Location, kWh, Month_StartConnection) %>%
filter(Location == input$locatie & month(Month_StartConnection) %in% c(input$seizoen)) %>%
group_by(Month_StartConnection) %>%
summarise(aantal_sessies = n()) %>%
filter(Month_StartConnection < as.Date(format(as.Date(strptime(Sys.Date(),"%Y-%m-%d",tz="")) ,format = "%y-%m-1")))%>%
ggplot(aes(Month_StartConnection, aantal_sessies, group = 1))+
geom_line()+scale_x_date(labels = date_format("%y-%m")) +
geom_smooth(method = "lm", se = FALSE)
)
})
}
shinyApp(ui, server)
weil es ein 'checboxGroupInput' Sie müssen'% in% verwenden ', statt' == ': zB' Filter (Ort% in% Eingang $ locatie) '. Dies ist, weil 'checkboxGroupInput' gibt Ihnen einen' Vektor' von Werten – SymbolixAU
Vielen Dank für Ihre Eingabe, aber wir suchen nach einer Antwort für diesen Code: Monat (Month_StartConnection)% in% c (input $ abfall))) –
nur eine Ahnung , aber versuche die 'list (...)' in 'c (...)' zu ändern - zum Beispiel 'choices = c (" Alle Maanden ", 1,2," mrt ", ...)' – SymbolixAU