NA mit realen Wert ersetzten

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
janedoe

NA mit realen Wert ersetzten

Beitrag von janedoe »

Schönen Nachmittag,

ich möchte gerne NA-Werte in einem data.frame mit -9999 ersetzten. Probiert habe ich das folgenderweise

Code: Alles auswählen

str(date)
'data.frame': 15892331obs. of 3 variables:
$tag: chr "20130102" "20130102" "20130102" "20130102" ...
$zeit: chr "0000" "0000" "0000" ...
$phi: num 31 31 31 31 31 31 31...
$lam: num 16 NA NA 19 20 21 NA ...

is.na(date$lam) <- (date$lam == -9999)

Wenn ich mir die Werte dann nochmals ausgeben lasse, hat sich allerdings nichts geändert, die NA stehen noch immer bei lam drinnen.
Benötige ich für die Ausführung eine for-Schleife?

glg JaneD
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: NA mit realen Wert ersetzten

Beitrag von jogo »

Hallo Jane,

Code: Alles auswählen

date$lam[is.na(date$lam)] <- -9999
Anmerkung:
R kann mit NAs umgehen - und das ist gut so. Es bewahrt eine/einen vor dem Rechnen mit nicht vorhandenen Daten.
Wird mit einem NA-Wert gerechnet, ist das Ergebnis normalerweise NA (außer in Fällen, in denen es nicht auf den Wert anstelle von NA ankommt, z.B. https://stackoverflow.com/questions/455 ... alues-in-r )

Gruß, Jörg
janedoe

Re: NA mit realen Wert ersetzten

Beitrag von janedoe »

Hallo Jörg,
Vielen Dank für deine schnelle Antwort.
Grüße, Jane
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: NA mit realen Wert ersetzten

Beitrag von jogo »

ansonsten gibt es noch:

Code: Alles auswählen

x <- c(1, NA, 3, NA, 7:9)
replace(x, is.na(x), -9999) # x <- ...
library("zoo")
na.fill(x, -9999) # x <- ...
Gruß, Jörg
Antworten