Ersetzen Sie NA durch vorherige und nächste Zeilen bedeuten in R

8

Wie kann ich eine NA schnell durch den Mittelwert ihrer vorherigen und nächsten Zeilen ersetzen?

%Vor%

so dass B's Note 63 wäre.

    
sia 07.04.2014, 15:18
quelle

3 Antworten

9

Oder Sie versuchen na.approx aus dem Paket zoo : "Fehlende Werte (NAs) werden durch lineare Interpolation ersetzt"

%Vor%

Dies funktioniert auch, wenn Sie mehr als ein fortlaufendes NA :

haben %Vor%

na.approx basiert auf der Funktion base function approx , die stattdessen verwendet werden kann:

%Vor%     
Henrik 07.04.2014, 15:58
quelle
8

Angenommen, Sie haben eine data.frame df wie folgt:

%Vor%

Dann können Sie Folgendes verwenden:

%Vor%     
Jilber Urbina 07.04.2014 15:27
quelle
0

Eine alternative Lösung, die den Median anstelle von Mittelwert verwendet, wird durch die Funktion na.roughfix des Pakets randomForest dargestellt. Wie in der Dokumentation beschrieben, funktioniert es mit einem Datenrahmen oder einer Zahl Matrix. Speziell für numerische Variablen werden NAs durch Spaltenmediane ersetzt. Bei Faktorvariablen werden NAs durch die häufigsten Ebenen ersetzt (zufällige Trennung von Bindungen). Wenn das Objekt keine NAs enthält, wird es unverändert zurückgegeben.

Verwenden Sie die gleichen Beispiele wie @Henrik,

%Vor%

oder mit einer größeren Matrix:

%Vor%     
Nemesi 23.02.2017 16:49
quelle

Tags und Links