Added balance for one team

This commit is contained in:
Jakub Wajs 2019-05-19 01:33:04 +02:00
parent 278bd6ca8c
commit 553164e6bf
5 changed files with 50 additions and 10 deletions

View File

@ -36,4 +36,16 @@ getBalance <- function(football_data) {
getBalancePercentage <- function(balance) { getBalancePercentage <- function(balance) {
balancePerc <- balance %>% balancePerc <- balance %>%
mutate(percentage = n/sum(.$n)) mutate(percentage = n/sum(.$n))
}
getBalanceForTeam <- function(football_data, team) {
balance_full <- football_data %>%
count(winner, sort = TRUE)
balance <- balance_full[(balance_full$winner %in% c(team, "Draw")),]
other_sum <- sum(balance_full[!(balance_full$winner %in% c(team, "Draw")),]$n)
balance <- balance %>%
rbind(c("Other", other_sum))
balance <- balance %>%
mutate(n = as.numeric(as.character(n)))
return(balance)
} }

View File

@ -5,7 +5,7 @@
# Results with pagination # Results with pagination
getFilteredResultsForTeam <- function(input) { getFilteredResultsForTeam <- function(input) {
getMatchesForTeam(football_data, input$team) %>% getMatchesForTeam(football_data, input$team) %>%
filterByDate(as_date(input$date_range[1]), as_date(input$date_range[2])) filterByDate(as_date(input$date_range_for_team[1]), as_date(input$date_range_for_team[2]))
} }
getFilteredResults <- function(input) { getFilteredResults <- function(input) {
@ -38,10 +38,6 @@ matchesForTeam <- function(input, output) {
} }
# Balance # Balance
getBalanceData <- function(input) {
getBalance(getFilteredResults(input))
}
balanceBetweenTeams <- function(input, output) { balanceBetweenTeams <- function(input, output) {
output$balance <- renderPlot({ output$balance <- renderPlot({
ggplot(getFilteredResults(input), aes(x=as.factor(winner), ggplot(getFilteredResults(input), aes(x=as.factor(winner),
@ -52,7 +48,27 @@ balanceBetweenTeams <- function(input, output) {
}) })
} }
getBalanceDataForTeamBarplot <- function(input) {
return(
getBalanceForTeam(getFilteredResultsForTeam(input), input$team)
)
}
balanceForTeamBarplot <- function(input, output) {
output$balance_for_team <- renderPlot({
ggplot(getBalanceDataForTeamBarplot(input),
aes(x=as.factor(winner), y=as.factor(n))) +
geom_bar(stat = "identity", fill = rgb(0.6, 0.1, 0.4, 0.7)) +
theme_minimal() +
labs(x = "", y = "Matches balance for")
})
}
# Balance percentage # Balance percentage
getBalanceData <- function(input) {
getBalance(getFilteredResults(input))
}
balancePercentage <- function(input, output) { balancePercentage <- function(input, output) {
output$balancePieChart <- renderPlot({ output$balancePieChart <- renderPlot({
ggplot(getBalancePercentage(getBalanceData(input))) + ggplot(getBalancePercentage(getBalanceData(input))) +
@ -65,6 +81,4 @@ balancePercentage <- function(input, output) {
y = cumsum(percentage) - percentage/2, y = cumsum(percentage) - percentage/2,
label = percent(percentage))) label = percent(percentage)))
}) })
} }
# Top teams barplot

View File

@ -9,6 +9,7 @@ source("Server/DataProcessor.R")
# Server logic # Server logic
server <- function(input, output) { server <- function(input, output) {
# Tab 1 # Tab 1
balanceForTeamBarplot(input, output)
matchesForTeam(input, output) matchesForTeam(input, output)
# Tab 2 # Tab 2

View File

@ -47,7 +47,7 @@ teamSidebarPanel <- function() {
selectInput("team", selectInput("team",
"Choose team:", "Choose team:",
teams), teams),
dateRangeInput("date_range", dateRangeInput("date_range_for_team",
"Date range:", "Date range:",
start = min_date_from, start = min_date_from,
end = max_date_to, end = max_date_to,

15
UI/UI.R
View File

@ -20,7 +20,20 @@ ui <- navbarPage(
column(9, column(9,
tabsetPanel( tabsetPanel(
tabPanel( tabPanel(
"Charts" "Charts",
h2("Matches balance charts"),
fluidRow(
column(6,
wellPanel(
plotOutput("balance_for_team")
)
),
column(6,
wellPanel(
verbatimTextOutput("Test")
)
)
)
), ),
tabPanel( tabPanel(
"Summary" "Summary"