https://github.com/cran/robCompositions
Tip revision: 27f32d7077dff1514bdc28b62dad7151d6bc4d65 authored by Matthias Templ on 16 March 2014, 16:25:33 UTC
version 1.8.0
version 1.8.0
Tip revision: 27f32d7
outCoDa.R
outCoDa <- function(x, quantile=0.975, method="robust", h=1/2){
if(dim(x)[2] < 2) stop("need data with at least 2 variables")
covEst <- function(x, type) {
standard <- function(x){
list(mean=colMeans(x, na.rm=TRUE), varmat=cov(x))
}
robust <- function(x){
v <- covMcd(x)
list(mean=v$center, varmat=v$cov)
}
switch(type,
standard = standard(x),
robust = robust(x))
}
z <- isomLR(x)
cv <- covEst(z, method)
dM <- sqrt(mahalanobis(z, center=cv$mean, cov=cv$varmat))
limit <- sqrt(qchisq(p=quantile, df=ncol(x)-1))
res <- list(mahalDist = dM, limit = limit,
outlierIndex = dM > limit, method=method)
class(res) <- "outCoDa"
invisible(res)
}