Bonjour,
j'ai des séries temporelles avec des valeurs manquantes (NA) un peu au hasard.
J'aimerais remplacer ces NA par une interpolation linéaire des valeurs qui l'encadrent. J'ai donc fait quelques tests avec la fonction "approx" mais j'obtiens un message d'erreur que je ne comprends pas.
Je sais par exemple que: D[4,2] est NA, D étant mon data frame.
J'ai donc essayé, après une série de tests et en essayant de réduire la formule au plus simple :
Et j'obtiens toujours, peu importe le test:
Code : Sélectionner tout - Visualiser dans une fenêtre à part AM[4,2] <- approx(AM[3,2],AM[5,2],method="linear")
Alors que:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Error in approx(AM[3, 2], AM[5, 2], method = "linear") : need at least two non-NA values to interpolate
Mes x,y sont bien non-NA.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 > AM[3,2] [1] -1.75 > AM[5,2] [1] -0.51
Toutefois, il existe sûrement des approches simples et efficaces pour remplacer toutes ces NA par une valeur interpolée. Si vous pouvez m'expliquer la source de ce message d'erreur et partager vos idées sur la façon la plus efficace de remplir les NA d'un data frame de façon efficace, je serais ravie de les lire!
Merci
Partager