Sagen, ich habe eine data.frame:ersetzen NA mit durchschnittlich Fall vor und nach der NA, es sei denn, Zeile beginnt oder endet mit NA
t<-c(1,1,2,4,NA,3)
u<-c(1,3,4,6,4,2)
v<-c(2,3,4,NA,3,2)
w<-c(2,3,4,5,2,3)
x<-c(2,3,4,5,6,NA)
df<-data.frame(t,u,v,w,x)
df
t u v w x
1 1 1 2 2 2
2 1 3 3 3 3
3 2 4 4 4 4
4 4 6 NA 5 5
5 NA 4 3 2 6
6 3 2 2 3 NA
Ich möchte die nationalen Agenturen ändern, so dass die NA wird ersetzt durch den Durchschnitt des einen Wertes vor dem NA und des einen Wertes nach dem NA. Wenn eine Zeile jedoch mit einer NA beginnt, möchte ich, dass sie durch den folgenden Wert ersetzt wird. Wenn eine Zeile mit NA endet, möchte ich, dass sie durch den Wert vor der NA ersetzt wird. So würde ich gerne folgendes Ergebnis erhalten:
t u v w x
1 1 1 2 2 2
2 1 3 3 3 3
3 2 4 4 4 4
4 4 6 5.5 5 5 --> NA becomes average of 6 and 5
5 4 4 3 2 6 --> NA becomes value of next case
6 3 2 2 3 3 --> NA becomes value of previous case
Ich habe Tausende von Zeilen, so dass jede Hilfe sehr geschätzt wird!
Dies hat tatsächlich den Trick gemacht! Du bist ein wahrer Held. –
Ich bekomme diesen Fehler 'Fehler in na.approx (x, Regel = 2): konnte Funktion" na.approx "' –
'Bibliothek (Zoo)' bitte nicht finden. Enthalten Sie das – Sotos