1 | dmean(m, tr = 0.2, dop = 1, cop = 2)
|
m |
|
tr |
|
dop |
|
cop |
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 | ##---- 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 (m, tr = 0.2, dop = 1, cop = 2)
{
if (is.list(m))
m <- matl(m)
if (!is.matrix(m))
stop("Data must be stored in a matrix or in list mode.")
if (ncol(m) == 1) {
if (tr == 0.5)
val <- median(m)
if (tr > 0.5)
stop("Amount of trimming must be at most .5")
if (tr < 0.5)
val <- mean(m, tr)
}
if (ncol(m) > 1) {
temp <- NA
if (ncol(m) != 2) {
if (dop == 1)
temp <- fdepth(m, plotit = FALSE, cop = cop)
if (dop == 2)
temp <- fdepthv2(m)
}
if (ncol(m) == 2) {
for (i in 1:nrow(m)) temp[i] <- depth(m[i, 1], m[i,
2], m)
}
mdep <- max(temp)
flag <- (temp == mdep)
if (tr == 0.5) {
if (sum(flag) == 1)
val <- m[flag, ]
if (sum(flag) > 1)
val <- apply(m[flag, ], 2, mean)
}
if (tr < 0.5) {
flag2 <- (temp >= tr)
if (sum(flag2) == 0 && sum(flag) > 1)
val <- apply(as.matrix(m[flag, ]), 2, mean)
if (sum(flag2) == 0 && sum(flag) == 1)
val = m[flag, ]
if (sum(flag2) == 1)
val <- m[flag2, ]
if (sum(flag2) > 1)
val <- apply(m[flag2, ], 2, mean)
}
}
val
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.