2017-07-28 4 views
1

auf einem bestimmten Doppel Vektor konvertieren, wie kommt kann ich -999-NA vonWie Sie sich richtig NaN zu NA

v[v == -999] <- NA 

definieren, aber nicht

v[v == NaN] <- NA 

und wie konvertiere ich NaN ‚s NA ist richtig?

Antwort

9

== funktioniert nicht zum Testen NA und NaN Werte. Dies ist gut, da aus der Datenperspektive zwei fehlende Werte identisch sein können oder nicht. Verwenden Sie is.na() und is.nan(), um diese zu testen.

Was Sie wollen, ist v[is.nan(v)] <- NA

Sie Details in den Hilfeseiten bei ?NaN und ?NA finden. Diese

wird auf den Hilfeseiten erwähnt, aber es ist erwähnenswert, dass NaN als eine besondere Art von NA behandelt wird, so dass wir dieses Verhalten:

> is.na(NaN) 
[1] TRUE 

> is.nan(NA) 
[1] FALSE 
+0

Dank! Follow-up-Frage: Was wäre der Ansatz für Listen? –

+0

Nichts besonderes über 'NA' oder' NaN' in einer Liste. Verwenden Sie 'lapply',' sapply', '[[', a for loop, was auch immer Sie normalerweise verwenden würden. – Gregor

Verwandte Themen