1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| # Chargement du package "dplyr", à installer éventuellement avant ;)
library(dplyr)
# Création du jeu de données initiales
data_ini <- data_frame(ID = c(1, 1, 2, 2, 3, 3), date.preco = c("24/04/2015", "24/04/2015", "29/04/2015", "29/04/2015", "26/04/2015", "26/04/2015"), dose.preco = c(60, 60, 40, 40, 90, 90), date.apport = c("19/05/2015", "28/04/2015", "19/05/2015", "28/04/2015", "19/05/2015", "15/05/2015"), dose.apport = c(30, 40, 30, 40, 30, 54))
# Transformation du format de la variable "date.apport" en "date" (si cela n'est pas fait au chargement des données), pour pouvoir récupérer facilement la date la plus récente
data_ini_2 <- data_ini %>% mutate(date.apport = as.Date(date.apport, format = "%d/%m/%Y"))
# Création du jeu de données finales : on fait un regroupement par ID, puis on récupère la 1ère valeur pour les variables "date.preco" et "dose.preco" (car toutes identiques), la date la plus petite pour "date.apport" et la somme pour "dose.apport"
data_final <- data_ini_2 %>% group_by(ID) %>% summarize(date.preco = first(date.preco), dose.preco = first(dose.preco), data.apport = min(date.apport), dose.apport = sum(dose.apport)) |
Partager