### Ranking tab ################## ### Data objects ################## RANK_tab <- reactive({ date1 <- as.Date(paste0(input$RANKdates[1],"-01-01")) date2 <- as.Date(paste0(input$RANKdates[2],"-12-31")) if(input$RANKtype == "residence_area"){ consultation_har_filter(JSON_cons_har, new_attack = input$RANKnew_attack, diagn = input$RANKdiagn, sex = input$RANKsex, minAge = input$RANKage[1], maxAge = input$RANKage[2] ) %>% filter(consultation_date >= date1 & consultation_date <= date2) %>% select(residence_place) %>% group_by(residence_place) %>% dplyr::summarise(count=n()) %>% inner_join(JSON_area_har, by = c("residence_place" = "id")) } else if(input$RANKtype == "center"){ consultation_har_filter(JSON_cons_har, new_attack = input$RANKnew_attack, diagn = input$RANKdiagn, sex = input$RANKsex, minAge = input$RANKage[1], maxAge = input$RANKage[2] ) %>% filter(consultation_date >= date1 & consultation_date <= date2) %>% select(id_center) %>% group_by(id_center) %>% dplyr::summarise(count=n()) %>% inner_join(JSON_healthcenter_har, by = c("id_center" = "id_center")) } else if(input$RANKtype == "infection_place"){ consultation_har_filter(JSON_cons_har, new_attack = input$RANKnew_attack, diagn = input$RANKdiagn, sex = input$RANKsex, minAge = input$RANKage[1], maxAge = input$RANKage[2] ) %>% filter(consultation_date >= date1 & consultation_date <= date2) %>% select(infection_place) %>% group_by(infection_place) %>% dplyr::summarise(count=n()) %>% inner_join(JSON_area_har, by = c("infection_place" = "id")) } }) ################## ### Table ################## output$RANK_table <- renderDataTable({ RANK_tab() %>% select(name, count, source) %>% plyr::arrange(-count) %>% mutate(rank = row_number(-count)) %>% select(rank, name, count, source) %>% mutate(source = ifelse(source == "BR", tr("BR"), tr("FG"))) %>% plyr::rename(c("name" = tr("name"), "count" = tr("cases"), "source" = tr("country"), "rank" = tr("rank"))) }, rownames= FALSE)