En supposant que vous avez vos données dans un data.frame
, appelé dat1
:
dat1 <- data.frame(
date = as.Date(c("2001-09-01", "2001-10-01", "2001-12-01", "2002-02-01")),
val = 1:4
)
Vous pouvez alors créer un second data.frame
qui contient une seule colonne avec toutes les dates dont vous avez besoin. Utilisez seq.Date
pour créer cette séquence:
dat2 <- data.frame(
date = seq(as.Date("2001-09-01"), by="1 month", length.out=7)
)
Ensuite, il est une opération merge
simple:
merge(dat1, dat2, all=TRUE)
date val
1 2001-09-01 1
2 2001-10-01 2
3 2001-11-01 NA
4 2001-12-01 3
5 2002-01-01 NA
6 2002-02-01 4
7 2002-03-01 NA
Les valeurs manquantes sont NA
mais vous pouvez ensuite utiliser subsetting pour les mettre à 0, si vous le désirez.
Vous recevrez des réponses plus utiles si vous fournissez structure de votre objet de données. Veuillez fournir la sortie de 'dput (head (mydata, 10))'. –