我有一個數據幀,看起來像這樣:R:與前值填補缺失值
d <- data.frame(county = c("Abilene", rep(NA, 5), "Cook", rep(NA, 4), "Blah", NA, "Allegheny", rep(NA, 3)))
county
1 Abilene
2 <NA>
3 <NA>
4 <NA>
5 <NA>
6 <NA>
7 Cook
8 <NA>
9 <NA>
10 <NA>
11 <NA>
12 Blah
13 <NA>
14 Allegheny
15 <NA>
16 <NA>
17 <NA>
我想填補<NA>
與以前的非缺失縣名的值。換句話說,我想這結束了:
county
1 Abilene
2 Abilene
3 Abilene
4 Abilene
5 Abilene
6 Abilene
7 Cook
8 Cook
9 Cook
10 Cook
11 Cook
12 Blah
13 Blah
14 Allegheny
15 Allegheny
16 Allegheny
17 Allegheny
到目前爲止,我一直在每個值循環遍歷d$county
,更新一個臨時變量與每一個非空縣城值的名稱,並補充各細胞。這對於大型數據幀來說非常緩慢。我寧願在dplyr
中這樣做,儘管我也對任何其他解決方案開放。
也與此有關 - http://stackoverflow.com/questions/2776135/last-observation-carried-forward -in-a-data-frame – thelatemail