Code: Alles auswählen
id <- c("a","a","b","b")
series <- c(1,NA,NA,NA)
df <- data.frame(id,series)
drop_na is nicht hilfreich, weil dann auch die zweite Beobachtung gelöscht wird. Wie mache ich das am schlausten?
Code: Alles auswählen
id <- c("a","a","b","b")
series <- c(1,NA,NA,NA)
df <- data.frame(id,series)
Code: Alles auswählen
id <- c("a","a","b","b", "c", "c", "c", "d", "e")
series <- c(1,NA, NA,NA, 1,2,NA, 3, NA)
df <- data.frame(id,series)
keep <- ave(df$series, df$id, FUN = function(x) ifelse(all(is.na(x)), yes = FALSE, no = TRUE))
keep <- as.logical(keep) # beschreibt, welche Zeilen erhalten und welche gelöscht werden sollen.
df[keep,] # erhält nur die, in denen keep == TRUE ist
Ist das nicht etwas zu akademisch? Ich benutze seit Äonen df als Namen für Dataframes, und dabei ist nie etwas schief gegangen.Im Übrigen solltest Du nie einen dataframe df nennen, denn df() ist bereits der Name einer Funktion in R.
Code: Alles auswählen
> df <- data.frame(Gruppe=LETTERS[1:10], Wert=runif(10))
>
> df(0.50, 3, 7)
[1] 0.6123581
> df[3, ]
Gruppe Wert
3 C 0.05513212
Code: Alles auswählen
Error: object 'oiuqweoriqq' not found
Eine Antwort die (nicht nur) das enthält hat auf stackoverflow 124 Zustimmungsklicks bekommen: https://stackoverflow.com/a/11308796/6503141As a matter of good practise, you should usually avoid naming variables after base-R functions. (Calling variables data is a common source of this error.)
Was sagt mir das?Eine Antwort die (nicht nur) das enthält hat auf stackoverflow 124 Zustimmungsklicks bekommen
Ich meinte eigentlich die Zahl "124" - im Gegensatz etwa zu "23" oder "577"!Es schränkt Dich nicht in Deiner Freiheit ein, eine andere Meinung zu haben