Spalte mit vorheriger Spalte füllen, wenn NA

8

Ich habe einen Datenrahmen wie diesen

%Vor%

Ich möchte nun die NAs mit dem Wert der vorherigen Spalte füllen, also sieht es so aus:

%Vor%

Ich weiß, wie man das manuell macht, so:

%Vor%

Wie kann ich dies für einen vollständigen Datenrahmen mit vielen Spalten automatisieren?

    
spore234 17.11.2017, 19:27
quelle

5 Antworten

8

Sie können dies mit fill von tidyr :

tun %Vor%

Ergebnis:

%Vor%

Hinweis:

Im Grunde habe ich df transponiert, jede Spalte nach unten gefüllt und dann wieder in die ursprüngliche Ausrichtung versetzt

    
useR 17.11.2017, 19:32
quelle
6
%Vor%

Dies wird Werte über Streifen von NA-Spalten propagieren. Wenn Sie das nicht möchten, kehren Sie einfach die Reihenfolge der Indizes in der for-Schleifen-Deklaration um.

    
Max Candocia 17.11.2017 19:30
quelle
6

Eine weitere Option, die Reduce mit ifelse verwendet:

%Vor%     
Psidom 17.11.2017 19:43
quelle
4

Sie könnten apply verwenden, aber beachten Sie, dass die Ausgabe eine Matrix ist

%Vor%     
d.b 17.11.2017 19:32
quelle
4

Mit zoo na.locf

%Vor%     
Wen 17.11.2017 20:00
quelle

Tags und Links