Ersetzen Sie NA in der Spalte mit dem Wert in der angrenzenden Spalte

8

Diese Frage bezieht sich auf einen Beitrag mit einem ähnlichen Titel ( Ersetze NA in einem R-Vektor mit benachbarten Werten ). Ich möchte eine Spalte in einem Datenrahmen scannen und NAs durch den Wert in der angrenzenden Zelle ersetzen. In dem zuvor erwähnten Post bestand die Lösung darin, die NA nicht durch den Wert von dem benachbarten Vektor (z. B. das benachbarte Element in der Datenmatrix) zu ersetzen, sondern war ein bedingter Ersatz für einen festen Wert. Unten ist ein reproduzierbares Beispiel für mein Problem:

%Vor%

TEST & lt; - Datenrahmen (UNIT, STATUS, TERMINATED, START, STOP)    TEST

%Vor%

Das Ergebnis sollte sein:

%Vor%     
hubert_farnsworth 26.03.2013, 05:18
quelle

2 Antworten

13

Es hat nicht funktioniert, weil der Status ein Faktor war. Wenn Sie Faktor mit numerisch mischen, ist numerisch am wenigsten einschränkend. Wenn Sie den Status als Zeichen festlegen, erhalten Sie die Ergebnisse, nach denen Sie suchen, und die Spalte ist jetzt ein Zeichenvektor:

%Vor%     
Tyler Rinker 26.03.2013, 05:24
quelle
2

Sie müssen

tun %Vor%

, damit der Wert durch den benachbarten Wert ersetzt wird. Andernfalls besteht eine Diskrepanz zwischen der Anzahl der zu ersetzenden Werte und den Werten, durch die sie ersetzt werden sollen. Dies würde dazu führen, dass die Werte in Zeilenreihenfolge ersetzt werden. Es funktioniert in diesem Fall, weil die zwei Werte, die ersetzt werden, die ersten beiden sind.

    
Brennan 31.08.2016 15:28
quelle

Tags und Links