Comment remplir NA avec une médiane?

De données, par exemple:

set.seed(1)
df <- data.frame(years=sort(rep(2005:2010, 12)), 
                 months=1:12, 
                 value=c(rnorm(60),NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA))

head(df)
  years months      value
1  2005      1 -0.6264538
2  2005      2  0.1836433
3  2005      3 -0.8356286
4  2005      4  1.5952808
5  2005      5  0.3295078
6  2005      6 -0.8204684

Dites-moi s'il vous plaît, comment je peux remplacer NA dans le df$de la valeur de la médiane des autres mois? "valeur" doit contenir la médiane de la valeur de toutes les valeurs précédentes pour le même mois. Qui est, si le courant du mois de Mai, la "valeur" doit contenir la valeur médiane pour toutes les valeurs précédentes du mois de Mai.

+1 parce que vous avez réussi à crochet 5 réponses différentes dans les 10 minutes.
J'ai édité la question d'inclure set.seed(1)

OriginalL'auteur Sheridan | 2012-08-15