https://github.com/cran/ftsa
Raw File
Tip revision: 7621951a183186ccd8706e35121ccdc4dbfddd1a authored by Shang H on 10 December 2014, 07:56:05 UTC
version 4.1
Tip revision: 7621951
sd.fts.R
`sd.fts` <- function(x, method = c("coordinate", "FM", "mode", "RP", "RPD", "radius"), trim = 0.25, alpha, weight, ...)
{
   if (class(x)[1] == "fts"|class(x)[1] == "fds"|class(x)[1] == "sfts"){
       functions = t(x$y)
       n = dim(functions)[1]
       p = dim(functions)[2]
       method = match.arg(method)
       if (method == "coordinate"){
           loc = (n-1)*apply(functions, 2, sd)/n
       }
       if (method == "FM"){
           lista = depth.FM(x, trim = trim)$ltrim
           loc = sqrt(func.var(functions[lista,]))
       }
       if (method == "mode"){
           lista = depth.mode(x, trim = trim)$ltrim
           loc = sqrt(func.var(functions[lista,]))
       }
       if (method == "RP"){
           lista = depth.RP(x, trim = trim)$ltrim
           loc = sqrt(func.var(functions[lista,]))
       }
       if (method == "RPD"){
           lista = depth.RPD(x, trim = trim)$ltrim
           loc = sqrt(func.var(functions[lista,]))
       }
       if (method == "radius"){
       	   lista = which(depth.radius(x, alpha, trim, weight)$weight==1)
       	   loc = sqrt(func.var(functions[lista,]))
       }
       if (class(x)[1] == "fds"){
           warning("Object is not a functional time series.")
       }
       return(list(x = x$x, y = loc))
   }
   else {
        stop("Not a functional object.")
   }
}
back to top