Nothing
# ================================
# Data Checking
# IF FUnctions Input Parameters
# ================================
# Checking general input parameters for IF functions
DataCheck <- function(returns, evalShape, retVals, nuisPars, k,
IFplot, IFprint,
prewhiten, ar.prewhiten.order,
cleanOutliers, cleanMethod, eff){
# Checking data if IF TS evaluation
if(!isTRUE(evalShape))
if(is.null(returns))
stop("Returns must be provided for the IF TS evaluation.")
# Checking the data for the returns
if(!is.null(returns)){
if(!any(c(inherits(returns, "matrix"), inherits(returns, "numeric"), inherits(returns, "xts"), inherits(returns, "zoo")))){
stop("returns should belong to one of the following classes: matrix, numeric, xts, zoo")
} else if(any(anyNA(returns), any(is.nan(returns)), any(is.infinite(returns)))){
stop("returns should not have missing, infinite or nan values")
} else{
if(inherits(returns, "matrix")){
if(ncol(returns)>1){
stop("returns should be a vector")
}
# Force to vector if input was a matrix
returns <- as.numeric(returns)
}
}
}
# Checking the data for k (range parameter)
if(!inherits(k, "numeric")){
stop("k should be numeric")
} else if(any(!k == floor(k), k <= 0)){
stop("k should be a positive integer")
}
# Checking data for prewhitening order
if (!inherits(ar.prewhiten.order, "numeric")) {
stop("ar.prewhiten.order should be numeric")
} else if (any(!ar.prewhiten.order == floor(ar.prewhiten.order), ar.prewhiten.order <= 0)) {
stop("ar.prewhiten.order should be a positive integer")
}
# Checking robust cleaning method specified
if(!(cleanMethod %in% c("locScaleRob")))
stop("The specified outlier cleaning method is not available.")
# Checking data for the efficiency for robust cleaning with "locScaleRob"
if(!inherits(eff, "numeric")){
stop("eff should be numeric")
} else if(any(eff < 0, eff > 1)) {
stop("eff should be a numeric value between 0 and 1.")
}
# Check data for the nuisance parameters
if(!is.null(nuisPars))
if(!is.list(nuisPars))
stop("nuisPars must be a list.")
}
# Checking general input parameters for IF functions (Robust)
DataCheckRob <- function(returns, family, eff,
evalShape, retVals, nuisPars, k,
IFplot, IFprint,
prewhiten, ar.prewhiten.order){
# Checking family for M-estimator of location
if(!(family %in% c("mopt", "opt", "bisquare")))
stop("family must be one of: \"mopt\", \"opt\" or \"bisquare\".")
# Checking data for the efficiency for robust cleaning with "locScaleRob"
if(!inherits(eff, "numeric")){
stop("eff should be numeric")
} else if(any(eff < 0, eff > 1)) {
stop("eff should be a numeric value between 0 and 1.")
}
# Checking data if IF TS evaluation
if(!isTRUE(evalShape))
if(is.null(returns))
stop("Returns must be provided for the IF TS evaluation.")
# Checking the data for the returns
if(!is.null(returns)){
if(!any(c(inherits(returns, "matrix"), inherits(returns, "numeric"), inherits(returns, "xts"), inherits(returns, "zoo")))){
stop("returns should belong to one of the following classes: matrix, numeric, xts, zoo")
} else if(any(anyNA(returns), any(is.nan(returns)), any(is.infinite(returns)))){
stop("returns should not have missing, infinite or nan values")
} else{
if(inherits(returns, "matrix")){
if(ncol(returns)>1){
stop("returns should be a vector")
}
# Force to vector if input was a matrix
returns <- as.numeric(returns)
}
}
}
# Checking the data for k (range parameter)
if(!inherits(k, "numeric")){
stop("k should be numeric")
} else if(any(!k == floor(k), k <= 0)){
stop("k should be a positive integer")
}
# Checking data for prewhitening order
if (!inherits(ar.prewhiten.order, "numeric")) {
stop("ar.prewhiten.order should be numeric")
} else if (any(!ar.prewhiten.order == floor(ar.prewhiten.order), ar.prewhiten.order <= 0)) {
stop("ar.prewhiten.order should be a positive integer")
}
# Check data for the nuisance parameters
if(!is.null(nuisPars))
if(!is.list(nuisPars))
stop("nuisPars must be a list.")
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.