Je me demande s'il existe un moyen de fill
avec des nombres aléatoires chaque valeur manquante individuelle lors de l'utilisation dcast
(bibliothèque reshape2
ou data.table
). Exemple:R Dcast remplir avec un numéro d'échantillon
ID = c('AA', 'AA', 'BB', 'BB', 'CC', 'CC', 'CC', 'DD', 'DD')
Replica = c('H1','H3','H1','H2','H1','H2','H3','H2','H3')
Value = c(1.3, 2.5, 1.4, 3.7, 9.5, 7.4, 7.1, 1.8, 8.4)
example <- data.frame(ID=ID, Replica = Replica, Value = Value)
Faire simple dcast
dfdc <- dcast(data=example, ID~Replica, value.var = 'Value', fill = sample(1:10, 1))
Remarquez comment certaines valeurs sont ratées:
ID H1 H2 H3
1 AA 1.3 NA 2.5
2 BB 1.4 3.7 NA
3 CC 9.5 7.4 7.1
4 DD NA 1.8 8.4
Je voudrais remplir chacune de ces valeurs manquantes avec des nombres aléatoires , quelque chose comme:
dfdc <- dcast(data=example, ID~Replica, value.var = 'Value', fill = sample(1:10, 1))
qui donne comme résultat:
ID H1 H2 H3
1 AA 1.3 2.0 2.5
2 BB 1.4 3.7 2.0
3 CC 9.5 7.4 7.1
4 DD 2.0 1.8 8.4
Cependant, toutes les valeurs manquantes ont été remplacées par le même nombre aléatoire (2 dans ce cas).
Serait-il possible d'appliquer la fonction individuellement à chaque valeur manquante et, par conséquent, de remplir les valeurs manquantes avec différents nombres aléatoires?
Merci d'avance!