Pourquoi suis-je “nombre d'éléments à remplacer n'est pas un multiple de la longueur de remplacement”

J'ai un dataframe combi, y compris deux variables DT et OD.

J'ai un peu de valeurs manquantes NA dans les deux DT et OD, mais pas nécessaire de le même enregistrement.

J'ai ensuite essayer de remplacer les valeurs manquantes dans DT avec DO si DO n'est pas absente, mais de récupérer l'avertissement "nombre d'éléments à remplacer n'est pas un multiple de la longueur de remplacement". Je peux voir qu'il signifie un décalage en longueur, mais je ne comprends pas pourquoi deux colonnes dans la même dataframe peuvent être de longueur différente. Plus sérieusement, la sortie n'est pas entièrement correcte (voir ci-dessous)

combi$DT[is.na(combi$DT) & ! is.na(combi$OD) ] <- combi$OD

Sortie

id   DT           OD
67   2010-12-12   2010-12-12
68   NA           NA
69   NA           2010-12-12
70   NA           NA

Je me serais attendu à DT être 2010-12-12 pour id=69 (les Dates sont POSIXct).

Il doit y avoir quelque chose que je ne comprends pas de longueur dans dataframes. Quelqu'un peut m'aider?

OriginalL'auteur Jørgen K. Kanters | 2016-08-03