stmci <-
function(x, alpha = 0.05, ks = 3.5)
{
#gets se for sample median and the corresponding robust 100 (1-alpha)% CI
#defaults are alpha = .05
n <- length(x)
up <- 1 - alpha/2
med <- median(x)
madd <- mad(x, constant = 1)
lo <- sum(x < (med - ks * madd))
hi <- sum(x > (med + ks * madd))
low <- ceiling((100 * lo)/n)
high <- ceiling((100 * hi)/n)
tp <- min(max(low, high)/100, 0.5)
tstmn <- mean(x, trim = tp)
#have obtained the two stage symetrically trimmed mean
ln <- floor(n * tp)
un <- n - ln
d <- sort(x)
if(ln > 0) {
d[1:ln] <- d[(ln + 1)]
d[(un + 1):n] <- d[un]
}
den <- ((un - ln)/n)^2
swv <- var(d)/den
#got the scaled Winsorized variance
rdf <- un - ln - 1
rval <- qt(up, rdf) * sqrt(swv/n)
tslo <- tstmn - rval
tshi <- tstmn + rval
list(int = c(tslo, tshi), tp = tp)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.