Browse Source

Plot avec recalcul correct des trajectoires

static
Maxime Wack 6 years ago
parent
commit
2227cbbe46
1 changed files with 21 additions and 4 deletions
  1. +21
    -4
      app.R

+ 21
- 4
app.R View File

@@ -167,14 +167,31 @@ server <- shinyServer(function(input, output)
db %>%
tbl("trajectoires") %>%
filter(Etudiant %in% listing) %>%
select(-`Vœu`) %>%
distinct %>%
collect(n = Inf) %>%
mutate(Date = timestamp %>%
as.POSIXct,
Etudiant = Etudiant %>% factor,
Rang = if(Rang %>% is.character) Rang %>% str_replace("(\\d+)(/\\d+)?", "\\1") %>% as.numeric else Rang) -> listing

listing %>%
mutate(Rang = ifelse(Subdivision != input$Ville | Discipline != input$Spe, NA, Rang)) -> listing
Rang = if(Rang %>% is.character) Rang %>% str_replace("(\\d+)(/\\d+)?", "\\1") %>% as.numeric else Rang) %>%
mutate(Rang = ifelse(Subdivision != input$Ville | Discipline != input$Spe, -1, Rang)) %>%
select(Date, Etudiant, Rang) %>%
complete(Etudiant, Date) %>%
by(.$Etudiant, function(df)
{
which(df$Rang %>% is.na & !lead(df$Rang) %>% is.na) -> chg
which(!df$Rang %>% is.na & lead(df$Rang) %>% is.na) -> chg2

df$Rang[setdiff(chg, 1)] <- df$Rang[chg2]
if (last(df$Rang) %>% is.na)
df$Rang[length(df$Rang)] <- na.omit(df$Rang)[length(na.omit(df$Rang))]

df %>%
filter(!Rang %>% is.na) %>%
mutate(Rang = ifelse(Rang == -1, NA, Rang))
}) %>%
Reduce(f = bind_rows) %>%
select(Date, Etudiant, Rang) -> listing

if (input$Select == "étudiant")
ggplot()


Loading…
Cancel
Save