# UI elements
# UI elements
# UI elements
selectInput("satisfaction", "Satisfaction Level:",
choices = unique(data$SATISFACTION))
renderPlot({
req(input$satisfaction)
# Filter data based on satisfaction level
filtered_data <- data %>%
filter(SATISFACTION == input$satisfaction)
# Calculate percentages
fuel_services_pct <- mean(filtered_data$FUEL_SERVICES == 1, na.rm = TRUE) * 100
customer_service_pct <- mean(filtered_data$CUSTOMER_SERVICE == 1, na.rm = TRUE) * 100
facilities_management_pct <- mean(filtered_data$`STORE.AND.FACILITY.MANAGEMENT` == 1, na.rm = TRUE) * 100
# Create a data frame for plotting
plot_data <- data.frame(
Service = c("Fuel Services", "Customer Service", "Store and Facility Management"),
Percentage = c(fuel_services_pct, customer_service_pct, facilities_management_pct)
)
# Plot percentages
ggplot(plot_data, aes(x = Service, y = Percentage)) +
geom_bar(stat = "identity", fill = "steelblue") +
geom_text(aes(label = paste0(round(Percentage, 1), "%")), vjust = -0.5, color = "black") +
ylim(0, 100) +
ylab("Percentage (%)") +
ggtitle("Percentage of Positive Responses by Service Type") +
theme_minimal()
})