Mam ramki danych jak tenwypełnienia kolumny z poprzedniej kolumny jeśli NA
df <- data.frame(v1 = 10:14, v2 = c(NA, 1, NA, 3, 6), v3 = c(1, NA, NA, 9, 4))
v1 v2 v3
1 10 NA 1
2 11 1 NA
3 12 NA NA
4 13 3 9
5 14 6 4
Teraz chcę, aby wypełnić NAS z wartością poprzedniej kolumnie, więc wygląda to tak:
v1 v2 v3
1 10 10 1
2 11 1 1
3 12 12 12
4 13 3 9
5 14 6 4
wiem jak to zrobić ręcznie, tak:
df$v2 <- ifelse(is.na(df$v2), df$v1, df$v2)
Jak mogę zautomatyzować to dla pełnej ramki danych z wielu kolumn?
'na.locf' może być stosowany do całego ramka danych naraz, więc 'na.locf (df, na.rm = FALSE)' zadziała. (W tym konkretnym przypadku 'na.rm = FALSE' nie robi nic innego, tylko jeśli wiodące wiersze były wszystkie NA, to zachowałoby je.) –
@ G.Grothendieck uczyć się, dzięki :-) – Wen