使用先前的非NA值在向量中填充NA?

SFu*_*n28 5 r

使用先前的非NA值填充NAs的紧凑/有效方法是什么?例如:

test = c( 1 , 2 , NA , NA , 5 , NA , 9 , NA , NA )
expected = c( 1 , 2 , 2 , 2 , 5 , 5 , 9 , 9 , 9 )
Run Code Online (Sandbox Code Playgroud)

这里,所有NA值'回顾'到第一个非NA值.我试图避免for循环

Jos*_*ich 7

library(zoo)
na.locf(test)
[1] 1 2 2 2 5 5 9 9 9
Run Code Online (Sandbox Code Playgroud)