na
Handling Missing Time Series Values
Functions for handling missing values in 'timeSeries' objects
 Keywords
 math
Usage
"na.omit"(object, method = c("r", "s", "z", "ir", "iz", "ie"), interp = c("before", "linear", "after"), ...)
removeNA(x, ...)
substituteNA(x, type = c("zeros", "mean", "median"), ...)
interpNA(x, method = c("linear", "before", "after"), ...)
Arguments
 interp, type

[nna.omit][substituteNA] 
Three alternative methods are provided to remove NAs from the
data:
type="zeros"
replaces the missing values by zeros,type="mean"
replaces the missing values by the column mean,type="median"
replaces the missing values by the the column median.  method

[na.omit] 
Specifies the method how to handle NAs.
One of the applied vector strings:
method="s"
na.rm = FALSE, skip, i.e. do nothing,method="r"
remove NAs,method="z"
substitute NAs by zeros,method="ir"
interpolate NAs and remove NAs at the beginning and end of the series,method="iz"
interpolate NAs and substitute NAs at the beginning and end of the series,method="ie"
interpolate NAs and extrapolate NAs at the beginning and end of the series, [interpNA]  Specifies the method how to interpolate the matrix column by column. One of the applied vector strings:method="linear"
,method="before"
ormethod="after"
. For the interpolation the functionapprox
is used.  object
 an object of class("timeSeries").
 x

a numeric matrix, or any other object which can be transformed
into a matrix through
x = as.matrix(x, ...)
. Ifx
is a vector, it will be transformed into a onedimensional matrix.  ...

arguments to be passed to the function
as.matrix
.
Details
Functions for handling missing values in 'timeSeries' objects and in objects which can be transformed into a vector or a two dimensional matrix. The functions are listed by topic.
na.omit 
Handles NAs, 
removeNA 
Removes NAs from a matrix object, 
substituteNA 
substitute NAs by zero, the column mean or median, 
Missing Values in Price and Index Series:
Applied to timeSeries
objects the function removeNA
just removes rows with NAs from the series. For an interpolation
of time series points one can use the function interpNA
.
Three different methods of interpolation are offered: "linear"
does a linear interpolation, "before"
uses the previous value,
and "after"
uses the following value. Note, that the
interpolation is done on the index scale and not on the time scale.
Missing Values in Return Series:
For return series the function substituteNA
may be useful. The
function allows to fill missing values either by method="zeros"
,
the method="mean"
or the method="median"
value of the
appropriate columns.
Note
The functions removeNA
, substituteNA
and interpNA
are older implementations. Please use in all cases if possible the
new function na.omit
.
When dealing with daily data sets, there exists another function
alignDaily Series
which can handle missing data in unaligned
calendarical 'timeSeries' objects.
References
Troyanskaya O., Cantor M., Sherlock G., Brown P., Hastie T., Tibshirani R., Botstein D., Altman R.B., (2001); Missing Value Estimation Methods for DNA microarrays Bioinformatics 17, 520525.
Examples
library(timeSeries)
## Create a Matrix 
X < matrix(rnorm(100), ncol = 5)
## Replace a Single NA Inside 
X[3, 5] < NA
## Replace Three in a Row Inside 
X[17, 2:4] < c(NA, NA, NA)
## Replace Three in a Column Inside 
X[13:15, 4] < c(NA, NA, NA)
## Replace Two at the Right Border 
X[11:12, 5] < c(NA, NA)
## Replace One in the Lower Left Corner 
X[20, 1] < NA
print(X)
## Remove Rows with NAs 
removeNA(X)
## Subsitute NA's by Zeros or Column Means 
substituteNA(X, type = "zeros")
substituteNA(X, type = "mean")
## Interpolate NA's Linearily 
interpNA(X, method = "linear")
# Note the corner missing value cannot be interpolated!
## Take Previous Values in a Column 
interpNA(X, method = "before")
# Also here, the corner value is excluded