0
votes

Remplacez NA dans un Dataframe avec la valeur dans d'autres df r

Ceci est un exemple de mon df: xxx pré>

et j'ai un autre DF avec ces valeurs: p> xxx pré>

J'ai besoin de remplacer Les NA dans X avec les valeurs du Y DF. C'est ce que j'attends. P>

xy<- tibble::tribble(
  ~ID, ~Month, ~Value,
  "A",     1L,   100L,
  "A",     2L,   200L,
  "A",     3L,    20L,
  "A",     4L,   400L,
  "B",     1L,    50L,
  "B",     2L,    20L,
  "B",     3L,    30L,
  "B",     4L,    70L,
  "C",     1L,    50L,
  "C",     2L,    60L,
  "C",     3L,    70L,
  "C",     4L,    60L,
  "D",     1L,    60L,
  "D",     2L,    60L,
  "D",     3L,    60L,
  "D",     4L,    50L
  )


0 commentaires

3 Réponses :


3
votes

Vous pouvez rejoindre les données et utiliser coalesce code> pour sélectionner la valeur non NA. xxx pré>


dans base r, vous pouvez fusion code> et utiliser ifelse code> pour sélectionner la valeur non NA p>

transform(merge(x, y, by = 'Month'), 
          Value = ifelse(is.na(Value.x), Value.y, Value.x))[names(x)]


0 commentaires

1
votes

base r à l'aide de la correspondance: xxx


0 commentaires

0
votes

comme mois in y est une séquence de 1: 4 Vous pouvez utiliser le mois directement pour le sous-ensemble. XXX


0 commentaires