В будущем постарайтесь предоставить некоторые примеры данных в своем коде, чтобы их не нужно было воспроизводить.
Вот несколько ошибок в вашем коде:
- mainPanel должна попадать в боковую панельLayout
- Ваш набор данных «преступление», а не «a», как вы указали в выводе своего сюжета ([$ Month == input $ Month,])
- Возможно, вы установили заголовок столбца как «PrimaryType» в своем наборе данных, но вы указали его в своем коде как «Основной тип» (с пробелом)
crime = data.table('Primary Type' = c('Assault','Burglary', 'Tresspass', 'Assault','Burglary'),
Month = c('Jan', 'Jan', 'Feb','Feb','Feb'),
Count = c(12,13,43,54,11))
ui <- fluidPage(
titlePanel(div(HTML("<em> Crime Rate in Chichago </em>"))),
tabsetPanel(
tabPanel(" Frequency of Crime ",
sidebarLayout(
sidebarPanel(
#First Input#
selectInput(inputId = "Month",
label = " Choose a Month",
choices = unique(crime$Month)),
#Second input#
selectInput(inputId = "Crime",
label = " Choose among Crime",
choices = unique(crime$`Primary Type`),
multiple = TRUE)
),
#Output#
mainPanel(
plotOutput("bar_plot")
)
)
)
)
)
#Shiny app -Server#
server <- function(input, output) {
output$bar_plot <- renderPlot({
Monthfilter <- crime[crime$Month == input$Month,]
print('hello')
crimefilter <- Monthfilter[Monthfilter$`Primary Type` %in% input$Crime,]
ggplot(data = crimefilter, aes(x = `Primary Type`, y = Count)) + geom_bar(stat="identity")
})
}
#Shinyapp#
shinyApp(ui = ui, server = server)r)