1 |
x |
|
var.fun |
|
SCORES |
|
pval |
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 | ##---- 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, var.fun = pbvar, SCORES = FALSE, pval = 1)
{
scores <- NULL
mvec <- spat(x)
n <- nrow(x)
m <- ncol(x)
y <- matrix(ncol = m, nrow = n)
xdif <- matrix(ncol = m, nrow = n)
for (i in 1:n) {
y[i, ] <- x[i, ] - mvec
xdif[i, ] <- y[i, ]
y[i, ] <- y[i, ]/sqrt(sum(y[i, ]^2))
}
e.val <- eigen(var(y))
b <- e.val$vectors
lam <- NA
for (j in 1:ncol(x)) {
val <- NA
for (i in 1:n) val[i] <- sum(b[, j] * x[i, ])
lam[j] <- var.fun(val)
}
if (SCORES) {
ord.val <- order(lam)
mn1 <- m - pval + 1
Bp <- e.val$vectors[, ord.val[mn1:m]]
scores <- matrix(ncol = pval, nrow = n)
for (i in 1:n) scores[i, ] <- t(as.matrix(Bp)) %*% as.matrix(xdif[i,
])
}
list(eigen.val = lam, B = b, spat.mu = mvec, scores = scores)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.