https://github.com/cran/robCompositions
Tip revision: 45c93a18fe3e83941bd865d89680d47d6b1d846e authored by Matthias Templ on 15 May 2012, 00:00:00 UTC
version 1.6.0
version 1.6.0
Tip revision: 45c93a1
clr.R
clr <- function(x){
#if(dim(x)[2] < 2) stop("data must be of dimension greater equal 2")
if(dim(x)[2] == 1){
res <- list(x.clr=x, gm=rep(1,dim(x)[1]))
} else{
geometricmean <- function (x) {
if (any(na.omit(x == 0)))
0
else exp(mean(log(unclass(x)[is.finite(x) & x > 0])))
}
gm <- apply(x, 1, geometricmean)
x.clr <- log(x/gm)
res <- list(x.clr=x.clr,
gm=gm
)
}
class(res) <- "clr"
invisible(res)
}