R/predict.ewkm.R

predict.ewkm <- function (object, data, ...)
{
    cluster.names <- rownames(object$centers)
    cluster.vars <- colnames(object$centers)
    out <- apply(data[cluster.vars], 1,
                 function(d) cluster.names[which.min(lapply(1:nrow(object$centers),
                                                            function(i) sqrt(sum(object$weights[i,] * abs(d - object$centers[i,])^2))))])
    out <- sapply(out, function(x) ifelse(length(x), x, NA))
    return(out)
}

Try the wskm package in your browser

Any scripts or data that you put into this service are public.

wskm documentation built on April 5, 2020, 1:07 a.m.