Je possède ce data frame :
Date Société Région Unités
1 1/1/2012 IBM Amérique 10
2 1/1/2012 IBM Europe 4
3 1/1/2012 IBM Pacifique 2
4 1/1/2012 HP Amérique 10
5 1/1/2012 HP Europe 2
6 1/1/2012 Gateway Amériques 2
7 1/2/2012 IBM Amériques 10
8 1/2/2012 HP Europe 2
9 1/12/2012 Gateway Amériques 10
dput(x)
structure(list(Date = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 3L,
3L, 2L), .Label = c("1/1/2012", "1/12/2012", "1/2/2012"), class = "factor"),
Company = structure(c(3L, 3L, 3L, 2L, 2L, 1L, 3L, 2L, 4L), .Label = c(" Gateway",
" HP", " IBM", " Gateway"), class = "factor"), Region = structure(c(3L,
5L, 6L, 1L, 2L, 7L, 4L, 2L, 7L), .Label = c(" America",
" Europe", " America", " Americas",
" Europe", " Pacific", " Americas"), class = "factor"),
Units = c(10L, 4L, 2L, 10L, 2L, 2L, 10L, 2L, 10L)), .Names = c("Date",
"Company", "Region", "Units"), class = "data.frame", row.names = c(NA,
-9L))
Je voudrais créer une carte de chaleur mais il y a beaucoup de dates manquantes, ce qui ne donne pas un bon rendu. Je dois remplir les unités pour chaque Région et Date manquante.
Je dois avoir 3 régions pour chaque société et chaque Date, et si la Date et la Région sont manquantes, les insérer et mettre 0 pour les unités.
Je peux créer ce vecteur du 1/1/2012 au 1/12/2012 pour toutes les dates :
d<-seq(as.Date(c("1/1/2012"), format="%m/%d/%Y"), as.Date(c("12/12/2012"), format="%m/%d/%Y"), by="mon")
Pour chaque société, je dois vérifier que les dates dans le vecteur d existent pour toutes les trois Régions, sinon les insérer avec des Unités à 0.
Y a-t-il un moyen facile de faire cela ? Tout conseil sera grandement apprécié.