na {timeSeries} | R Documentation |
Functions for handling missing values in 'timeSeries'
objects or 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, |
interpNA | interpolates NAs using R's "approx" function. |
## S4 method for signature 'timeSeries' 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"), ...)
interp, type |
[nna.omit][substituteNA] - |
method |
[na.omit] - |
object |
an object of class("timeSeries"). |
x |
a numeric matrix, or any other object which can be transformed
into a matrix through |
... |
arguments to be passed to the function |
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.
The functions removeNA
, substituteNA
and interpNA
are older implementations. Please use in all cases if possible the
new function na.omit
.
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, 520–525.
## 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 Mean - 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