Seite 1 von 1

NA und 0

Verfasst: Sa Jul 03, 2021 5:52 pm
von Selina1
Hallo liebe R Freunde

Eine Frage: Gibt es eine Möglichkeit nur bestimmte NA‘s mit 0 zu ersetzen?


Als Beispiel: Ich will nur die NA‘s mit 0 ersetzen die vor den Werten liegen, hier die ersten drei. Alle anderen NA‘s sollen so bleiben. Das möchte ich gerne auf alle Spalten anwenden (sind über 200).

Bin um jede Hilfe sehr dankbar! :)

Lieber Gruss
Selina1

Spalte1:

NA
NA
NA
1
2
3
5
7
NA
NA
9
8
7

Re: NA und 0

Verfasst: So Jul 04, 2021 6:54 am
von jogo
Hallo Selina,

ja, geht:

Code: Alles auswählen

x <- c(NA, NA, NA, 1, 2, 3, 5, 7, NA, NA, 9, 8, 7)

r <- rle(is.na(x))
if (r$values[1]) x[1:r$lengths[1]] <- 0
Gruß, Jörg

Re: NA und 0

Verfasst: So Jul 04, 2021 11:55 am
von student
Hallo Selina,

schau mal hier und/oder hier. Vielleich hilft es weiter...

Re: NA und 0

Verfasst: So Jul 04, 2021 12:37 pm
von EDi
Oder sowas:

Code: Alles auswählen

x <- c(NA, NA, NA, 1, 2, 3, 5, 7, NA, NA, 9, 8, 7)
x[seq(1, min(which(!is.na(x))) - 1)] <- 0
x

Re: NA und 0

Verfasst: So Jul 04, 2021 12:39 pm
von EDi
Oder funktionell um über die Spalten zu iterieren:

Code: Alles auswählen

df <- data.frame(x = c(NA, NA, NA, 1, 2, 3, 5, 7, NA, NA, 9, 8, 7))
df$y <- df$x


foo <- function(x) {
  x[seq(1, min(which(!is.na(x))) - 1)] <- 0
  x
}
foo(df$x)

apply(df, 2, foo)