uczę R i jestem ciekaw ... Potrzebuję funkcję, która wykonuje to:propagujących dane w wektorze
> fillInTheBlanks(c(1, NA, NA, 2, 3, NA, 4))
[1] 1 1 1 2 3 3 4
> fillInTheBlanks(c(1, 2, 3, 4))
[1] 1 2 3 4
i wyprodukowałem to jedno ... ale podejrzewam, że istnieje więcej R sposób, aby to zrobić.
fillInTheBlanks <- function(v) {
## replace each NA with the latest preceding available value
orig <- v
result <- v
for(i in 1:length(v)) {
value <- v[i]
if (!is.na(value))
result[i:length(v)] <- value
}
return(result)
}
i jego parametr fromLast rozwiązuje pytanie symetryczne! (Czytam kod na.locf.R teraz i jest pełno rzeczy wartych przeczytania) – mariotomo
interesujące źródło. Dodaję inną odpowiedź, destylowaną z twojej i z biblioteki zoo. – mariotomo