Missing Value Imputation by Last Observation Carried Forward
Replaces each missing value with the most recent present value prior to it (Last Observation Carried Forward- LOCF). Optionally this can also be done starting from the back of the series (Next Observation Carried Backward - NOCB).
na.locf(x, option = "locf", na.remaining = "rev")
- Numeric Vector (
vector) or Time Series (
ts) object in which missing values shall be replaced
- Algorithm to be used. Accepts the following input:
- "locf" - for Last Observation Carried Forward
- "nocb" - for Next Observation Carried Backward
- Method to be used for remaining NAs.
- "keep" - to return the series with NAs
- "rm" - to remove remaining NAs
- "mean" - to replace remaining NAs by overall mean
- "rev" - to perform nocb / locf from the reverse direction
Replaces each missing value with the most recent present value prior to it (Last Observation Carried Forward- LOCF). This can also be done from the reverse direction -starting from the back (Next Observation Carried Backward - NOCB). Both options have the issue, that NAs at the beginning (or for nocb at the end) of the time series cannot be imputed (since there is no last value to be carried forward present yet). In this case there are remaining NAs in the imputed time series. Since this only concerns very few values at the beginning of the series, na.remaining offers some quick solutions to get a series without NAs back.
#Prerequisite: Create Time series with missing values x <- ts(c(NA,3,4,5,6,NA,7,8)) #Example 1: Perform LOCF na.locf(x) #Example 2: Perform NOCF na.locf(x, option = "nocb") #Example 3: Perform LOCF and remove remaining NAs na.locf(x, na.remaining = "rm")