1 |
x |
|
alpha |
|
trmp |
|
ka |
|
ks |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | ##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##-- or do help(data=index) for the standard data sets.
## The function is currently defined as
function (x, alpha = 0.05, trmp = 0.25, ka = 6, ks = 3.5)
{
n <- length(x)
up <- 1 - alpha/2
med <- median(x)
madd <- mad(x, constant = 1)
d <- sort(x)
dtem <- d
LM <- sum(x < (med - ka * madd))
nmUM <- sum(x > (med + ka * madd))
ll <- ceiling((100 * LM)/n)
hh <- ceiling((100 * (nmUM))/n)
ln <- floor((ll * n)/100)
un <- floor((n * (100 - hh))/100)
low <- ln + 1
val1 <- dtem[low]
val2 <- dtem[un]
tstmn <- mean(x[(x >= val1) & (x <= val2)])
if (ln > 0) {
d[1:ln] <- d[low]
}
if (un < n) {
d[(un + 1):n] <- d[un]
}
den <- ((un - ln)/n)^2
swv <- var(d)/den
rdf <- un - low
rval <- qt(up, rdf) * sqrt(swv/n)
talo <- tstmn - rval
tahi <- tstmn + rval
d <- dtem
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)
ln <- floor(n * tp)
un <- n - ln
if (ln > 0) {
d[1:ln] <- d[(ln + 1)]
}
if (un < n) {
d[(un + 1):n] <- d[un]
}
den <- ((un - ln)/n)^2
swv <- var(d)/den
rdf <- un - ln - 1
rval <- qt(up, rdf) * sqrt(swv/n)
tslo <- tstmn - rval
tshi <- tstmn + rval
d <- dtem
lnbg <- floor(n/2) - ceiling(sqrt(n/4))
unbg <- n - lnbg
lowbg <- lnbg + 1
if (lnbg > 0) {
d[1:lnbg] <- d[(lowbg)]
}
if (unbg < n) {
d[(unbg + 1):n] <- d[unbg]
}
den <- ((unbg - lnbg)/n)^2
swv <- var(d)/den
rdf <- unbg - lnbg - 1
cut <- qt(up, rdf)
rval <- cut * sqrt(swv/n)
rlo <- med - rval
rhi <- med + rval
se2 <- 0.5 * (d[unbg] - d[lowbg])
rval <- cut * se2
rlo2 <- med - rval
rhi2 <- med + rval
mn <- mean(x)
v <- var(x)
se <- sqrt(v/n)
val <- qt(up, n - 1) * se
lo <- mn - val
hi <- mn + val
d <- dtem
ln <- floor(n * trmp)
un <- n - ln
trmn <- mean(x, trim = trmp)
if (ln > 0) {
d[1:ln] <- d[(ln + 1)]
}
if (un < n) {
d[(un + 1):n] <- d[un]
}
den <- ((un - ln)/n)^2
swv <- var(d)/den
rdf <- un - ln - 1
rval <- qt(up, rdf) * sqrt(swv/n)
trlo <- trmn - rval
trhi <- trmn + rval
list(tint = c(lo, hi), taint = c(talo, tahi), tsint = c(tslo,
tshi), bgint = c(rlo2, rhi2), mint = c(rlo, rhi), trint = c(trlo,
trhi))
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.