[HEAD]: initial commit
This commit is contained in:
@@ -0,0 +1,189 @@
|
||||
server <- function(input, output, session) {
|
||||
|
||||
countries <- c("Spain", "England", "Germany", "Italy", "France", "Portugal")
|
||||
|
||||
#### European performance over time ####
|
||||
time_plot_debounced <- debounce(reactive(input$time_plot), millis = 200)
|
||||
time_plot_level <- reactive({
|
||||
val <- time_plot_debounced()
|
||||
if (is.null(val)) 0 else val
|
||||
})
|
||||
|
||||
time_plot_selected_data <- reactive({
|
||||
season_league_full_dataset %>% filter(Country == countries[time_plot_level() + 1])
|
||||
})
|
||||
|
||||
output$european_performance_over_time_plot <- renderPlotly({
|
||||
width <- ifelse(is.null(input$screen_width), 760, input$screen_width)
|
||||
|
||||
custom_plotly(data = time_plot_selected_data(), x = ~Season, y = ~European_performance, type = "scatter", mode = "lines", hoverinfo = "none",
|
||||
xaxis_title = "Season", yaxis_title = "European performance", width = width) %>%
|
||||
layout(yaxis = list(range = c(0, 70)))
|
||||
})
|
||||
|
||||
|
||||
#### League characteristics ####
|
||||
league_averages_plot_debounced <- debounce(reactive(input$league_averages_plot), millis = 200)
|
||||
league_averages_plot_level <- reactive({
|
||||
val <- league_averages_plot_debounced()
|
||||
if (is.null(val)) 0 else val
|
||||
})
|
||||
|
||||
league_averages_plot_selected_data <- reactive({
|
||||
average_country_metrics_scaled %>% filter(Country == countries[league_averages_plot_level() + 1])
|
||||
})
|
||||
|
||||
#plotting radar chart
|
||||
output$league_characteristics_plot <- renderPlotly({
|
||||
width <- ifelse(is.null(input$screen_width), 760, input$screen_width)
|
||||
|
||||
country_data <- league_averages_plot_selected_data()
|
||||
values <- as.numeric(country_data[1, -1])
|
||||
|
||||
custom_plotly(type = 'scatterpolar', fill = 'toself', hoverinfo = "none", xaxis_title = "", yaxis_title = "", width = width) %>%
|
||||
add_trace(
|
||||
r = c(values, values[1]),
|
||||
theta = c(gsub("_", " ", names(country_data)[-1]), gsub("_", " ", names(country_data)[-1][1]))
|
||||
) %>%
|
||||
layout(
|
||||
polar = list(radialaxis = list(range = c(0,1))),
|
||||
showlegend = FALSE
|
||||
)
|
||||
})
|
||||
|
||||
|
||||
#### Basic group profiling ####
|
||||
basic_profiless_plot_debounced <- debounce(reactive(input$basic_profiling_plot), millis = 200)
|
||||
basic_profiless_plot_level <- reactive({
|
||||
val <- basic_profiless_plot_debounced()
|
||||
if (is.null(val)) 0 else val
|
||||
})
|
||||
|
||||
basic_profiless_plot_selected_data <- reactive({
|
||||
european_performance_groups_characteristics %>% filter(performance_group == basic_profiless_plot_level() + 1)
|
||||
})
|
||||
|
||||
#plotting radar chart
|
||||
output$basic_profiles_characteristic_plot <- renderPlotly({
|
||||
width <- ifelse(is.null(input$screen_width), 760, input$screen_width)
|
||||
|
||||
group_data <- basic_profiless_plot_selected_data()
|
||||
values <- as.numeric(group_data[1, 2:10])
|
||||
|
||||
custom_plotly(type = 'scatterpolar', fill = 'toself', hoverinfo = "none", xaxis_title = "", yaxis_title = "", width = width) %>%
|
||||
add_trace(
|
||||
r = c(values, values[1]),
|
||||
theta = c(gsub("_", " ", names(group_data)[2:10]), gsub("_", " ", names(group_data)[2:10][1]))
|
||||
) %>%
|
||||
layout(
|
||||
polar = list(radialaxis = list(range = c(-0.4,0.4))),
|
||||
showlegend = FALSE
|
||||
)
|
||||
})
|
||||
|
||||
|
||||
#### Regression coefficients one season ####
|
||||
regression_current_year_plot_debounced <- debounce(reactive(input$regression_current_year_plot), millis = 200)
|
||||
regression_current_year_plot_level <- reactive({
|
||||
val <- regression_current_year_plot_debounced()
|
||||
if (is.null(val)) 0 else val
|
||||
})
|
||||
|
||||
one_season_full_coefficients <- list(panel_all_robust_theory, panel_pc, indices_all_plotting_data)
|
||||
coefficient_one_year_data <- reactive({
|
||||
one_season_full_coefficients[[regression_current_year_plot_level() + 1]]
|
||||
})
|
||||
|
||||
#plotting coefficients
|
||||
output$regression_coefficients_current_plot <- renderPlotly({
|
||||
width <- ifelse(is.null(input$screen_width), 760, input$screen_width)
|
||||
if (regression_current_year_plot_level() %in% c(0,1)){
|
||||
#version with all in one
|
||||
coefficient_plot_function(regression_result = coefficient_one_year_data(), width = width)
|
||||
} else if (regression_current_year_plot_level() == 2){
|
||||
#indices version (multiple regressions combined in one)
|
||||
coefficient_plot_function(regression_result = NULL, coefficient_plotting_data = coefficient_one_year_data(), width = width)
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
#### Regression coefficients next season ####
|
||||
regression_next_year_plot_debounced <- debounce(reactive(input$regression_next_year_plot), millis = 200)
|
||||
regression_next_year_plot_level <- reactive({
|
||||
val <- regression_next_year_plot_debounced()
|
||||
if (is.null(val)) 0 else val
|
||||
})
|
||||
|
||||
next_season_full_coefficients <- list(panel_all_lead, panel_lead_pc, indices_lead_plotting_data)
|
||||
coefficient_next_year_data <- reactive({
|
||||
next_season_full_coefficients[[regression_next_year_plot_level() + 1]]
|
||||
})
|
||||
|
||||
#plotting coefficients
|
||||
output$regression_coefficients_next_plot <- renderPlotly({
|
||||
width <- ifelse(is.null(input$screen_width), 760, input$screen_width)
|
||||
if (regression_next_year_plot_level() %in% c(0,1)){
|
||||
#version with all in one
|
||||
coefficient_plot_function(regression_result = coefficient_next_year_data(), width = width, range_val = 15)
|
||||
} else if (regression_next_year_plot_level() == 2){
|
||||
#indices version (multiple regressions combined in one)
|
||||
coefficient_plot_function(regression_result = NULL, coefficient_plotting_data = coefficient_next_year_data(), width = width, range_val = 15)
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
#### Regression coefficients by competition ####
|
||||
regression_competition_plot_debounced <- debounce(reactive(input$regression_competition_plot), millis = 200)
|
||||
regression_competition_plot_level <- reactive({
|
||||
val <- regression_competition_plot_debounced()
|
||||
if (is.null(val)) 0 else val
|
||||
})
|
||||
|
||||
comp_breakdown_season_full_coefficients <- list(panel_all_CL, panel_pc_CL, indices_comp_breakdown_plotting_data)
|
||||
coefficient_comp_breakdown_data <- reactive({
|
||||
comp_breakdown_season_full_coefficients[[regression_competition_plot_level() + 1]]
|
||||
})
|
||||
|
||||
#plotting coefficients
|
||||
output$regression_coefficients_competition_plot <- renderPlotly({
|
||||
width <- ifelse(is.null(input$screen_width), 760, input$screen_width)
|
||||
if (regression_competition_plot_level() %in% c(0,1)){
|
||||
#version with all in one
|
||||
coefficient_plot_function(regression_result = coefficient_comp_breakdown_data(), width = width, range_val = 5)
|
||||
} else if (regression_competition_plot_level() == 2){
|
||||
#indices version (multiple regressions combined in one)
|
||||
coefficient_plot_function(regression_result = NULL, coefficient_plotting_data = coefficient_comp_breakdown_data(), width = width, range_val = 5)
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
#### Clustering ####
|
||||
clustering_plot_debounced <- debounce(reactive(input$clustering_plot), millis = 200)
|
||||
clustering_plot_level <- reactive({
|
||||
val <- clustering_plot_debounced()
|
||||
if (is.null(val)) 0 else val
|
||||
})
|
||||
|
||||
clustering_plot_selected_data <- reactive({
|
||||
plotting_cluster_data %>% filter(cluster == clustering_plot_level() + 1)
|
||||
})
|
||||
|
||||
#plotting radar chart
|
||||
output$clustering_characteristics_plot <- renderPlotly({
|
||||
width <- ifelse(is.null(input$screen_width), 760, input$screen_width)
|
||||
|
||||
group_data <- clustering_plot_selected_data()
|
||||
values <- as.numeric(group_data[1, 2:10])
|
||||
|
||||
custom_plotly(type = 'scatterpolar', fill = 'toself', hoverinfo = "none", xaxis_title = "", yaxis_title = "", width = width) %>%
|
||||
add_trace(
|
||||
r = c(values, values[1]),
|
||||
theta = c(gsub("_", " ", names(group_data)[2:10]), gsub("_", " ", names(group_data)[2:10][1]))
|
||||
) %>%
|
||||
layout(
|
||||
polar = list(radialaxis = list(range = c(-0.7,1.5))),
|
||||
showlegend = FALSE
|
||||
)
|
||||
})
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user