imputeTS (version 1.7)

na.locf: Missing Value Imputation by Last Observation Carried Forward

Description

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).

Usage

na.locf(x, option = "locf", na.remaining = "rev")

Arguments

x
Numeric Vector (vector) or Time Series (ts) object in which missing values shall be replaced
option
Algorithm to be used. Accepts the following input:
  • "locf" - for Last Observation Carried Forward
  • "nocb" - for Next Observation Carried Backward
na.remaining
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

Value

Vector (vector) or Time Series (ts) object (dependent on given input at parameter x)

Details

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.

See Also

na.interpolation, na.kalman, na.ma, na.mean, na.random, na.replace, na.seadec, na.seasplit

Examples

#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")