Wie Ersetze ich <NZ> Werte mit Nullen in R?
Ich habe einen Daten.Rahmen und einige Spalten haben NA
Werte. Ich will ersetzen Sie die <NA>
s mit Nullen. Wie kann ich dies tun?
Eigentlich, mydate, die hier dargestellt ist, ist nicht meine original Daten. das original ist zu groß, hier zu zeigen.
mydata = read.spss('mydata.sav', use.value.labels = TRUE, to.data.frame = TRUE, max.value.labels = Inf, trim.factor.names = FALSE, trim_values = FALSE, reencode = "UTF-8")
> mydata
Q_16_O3 Q_16_O4 Q_16_O5 Q_16_O6 Q_16_O7 Q_16_O8 Q_16_O9
10 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
11 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
12 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
13 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
14 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
15 Trem <NA> <NA> <NA> <NA> <NA> <NA>
16 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
17 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
18 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
19 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
20 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
str(mydata)
'data.frame': 11 obs. of 7 variables:
$ Q_16_O3: Factor w/ 10 levels "Ônibus","Vans",..: NA NA NA NA NA 4
NA NA NA NA ...
$ Q_16_O4: Factor w/ 10 levels "Ônibus","Vans",..: NA NA NA NA NA
NA NA NA NA NA ...
$ Q_16_O5: Factor w/ 10 levels "Ônibus","Vans",..: NA NA NA NA NA
NA NA NA NA NA ...
$ Q_16_O6: Factor w/ 10 levels "Ônibus","Vans",..: NA NA NA NA NA
NA NA NA NA NA ...
$ Q_16_O7: Factor w/ 10 levels "Ônibus","Vans",..: NA NA NA NA NA
NA NA NA NA NA ...
$ Q_16_O8: Factor w/ 10 levels "Ônibus","Vans",..: NA NA NA NA NA
NA NA NA NA NA ...
$ Q_16_O9: Factor w/ 10 levels "Ônibus","Vans",..: NA NA NA NA NA
NA NA NA NA NA ...
Ich würde gerne mit dem freq-Funktion, also ich muss nicht ändern Ihre Struktur(mydata).
ps: Mein problem ist <NA>
, nicht NA
In der NA
Fall habe ich eine Lösung HIER.
- Was ist der Datentyp? Prüfen Sie mit
lapply(mydata,summary)
und post, die in Ihre Antwort. <NA>
ist nurNA
für character-Vektoren bei der Anzeige in einemdata.frame
(überprint.data.frame
). Es ist immer noch sehr wahrscheinlich ist es nur eine normaleNA
wie es fürdata.frame(text=c("a",NA))
Haben Sie versucht, die andere Lösung?- Ich würde gerne wissen: welche der beiden Fälle wahr ist? Sind Ihre
<NA>
Werte wirklich Zeichen oder NA-Werte innerhalb der Faktoren??
Du musst angemeldet sein, um einen Kommentar abzugeben.
Praktisch für jede Daten-Struktur
X
mit Numerik, NutzungIhre Frage scheint leicht discombobulated, obwohl Sie angegeben haben, dass Sie meine
<NA>
nicht NA, ohne zu erklären, was Typ<NA>
ist.Wenn es den string
"<NA>"
du meinst, dannWenn Sie über gemischte Datentypen in Ihrem data frame, überprüfen Sie das auch:
unbedingt mehr nützlich in der numerischen Fall.
Dies ist ein sehr häufiges idiom für den Umgang mit fehlenden Daten in R, obwohl Sie sollten auch einen Blick auf die parameter
na.rm = TRUE
die vielen Funktionen wiemean
,sum
, &c. akzeptieren.Diese Strategie wird scheitern, für die ein Faktor, denn Sie können nicht hinzufügen neuer Faktor Ebenen durch die Zuordnung zu dem Wert eines Faktors. Ich habe nicht Lesen.spss, aber ein Blick auf die Dokumentation, ich schlage vor, Sie fügen Sie die
use.value.labels = FALSE
argument auf Ihren Anruf, um zu vermeiden, Faktoren, die in den ersten Platz.In Ihrem spezifischen Fall haben, Ihren gesamten Daten-frame des gleichen Typs (Faktor). Dies bedeutet, es ist sicher zu konvertieren, um ein Zeichen matrix
Jetzt können Sie ersetzen die NA-Werte
In dem allgemeineren Fall, wo Sie unerwünschte Faktor Spalten gemischt mit anderen Arten, müssen Sie etwas tun, ein wenig mehr Komplex.