Was ist der Unterschied zwischen <NZ> NA und?
Habe ich einen Faktor namens RAUCH mit Ebenen "Y" und "N". Fehlende Werte wurden ersetzt durch NA (von der ersten Ebene "NULL"). Aber wenn ich den Faktor bekomme ich so etwas wie dieses:
head(SMOKE)
N N <NA> Y Y N
Levels: Y N
Warum ist R die Anzeige NA
als <NA>
? Und gibt es einen Unterschied?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beim Umgang mit
factors
, wenn dieNA
ist eingehüllt in Spitzen Klammern (<NA>
), das anzeigt, dass thtat es ist in der Tat NA.Wenn es
NA
ohne Klammern, dann ist es nicht NA, sondern eine richtige Faktor, dessen Etikett ist"NA"
Bearbeiten zu beantworten @Arun Frage:
R
ist einfach versuchen zu unterscheiden zwischen einer Zeichenfolge, deren Wert sind die beiden Buchstaben"NA"
und eine tatsächliche fehlenden WertNA
Damit der Unterschied, den Sie sehen, wenn die Anzeige
df
versusdf$y
. Beispiel:Beachten Sie die zwei verschiedenen Stile von NA:
Jedoch, wenn wir uns nur 'df$y'
Aber, wenn wir entfernen Sie die Anführungszeichen (ähnlich zu dem, was wir sehen, wenn drucken von Daten.Rahmen auf der Konsole):
Und damit haben wir wieder einmal die Unterscheidung von
NA
über den Spitzen Klammern.df <- data.frame(x=1:5, y=c("a", "b", NA_character_, "d"), stringsAsFactors=FALSE)
es bleibt immer noch<NA>
. Natürlich die Frage ist, für Vektoren. Aber immer noch, das ist mir nicht klar. Ex: Wenn Sie drucken Sie die Spaltedf$y
es verschwindet. Aber wenn Sie druckendf
es zeigt die Spitzen Klammern.addNA()
z.B.levels(addNA(x))
factor(c("NA", "<NA>", NA))
. Blick auf die gedruckte Darstellung von etwas ist nicht ein guter Weg, um zu verstehen, was es ist!Es ist einfach so, dass R zeigt
NA
im ein-Faktor:Man annimmt dies ist ein Mittel, durch die man unterscheiden zwischen
NA
und"NA"
in der Art, ein Faktor gedruckt, wie es druckt, ohne die Anführungszeichen, auch für Charakter-Etiketten/Level:Vielleicht eine Ausnahme sein könnte, Daten.Tabelle.
Es scheint, dass ein character-Feld gibt es als < NZ >, während ein numerisches eins, als NA. NB: ich habe zusätzliche Leerzeichen in < NZ >, ansonsten ist diese Webseite nicht zeigen, es richtig zu stellen.
NA
ist infactor
odercharacter
ist es so gedruckt, wie<NA>
. Das ist das gleiche wie das, was Sie zeigen, mitdata.table
.