km <- kmeans(iris,3)
predict.kmeans <-
function(km, data)
{k <- nrow(km$centers)
n <- nrow(data)
d <- as.matrix(dist(rbind(km$centers, data)))[-(1:k),1:k]
out <- apply(d, 1, which.min)
return(out)}
predict.kmeans(km,iris[1,])
# Error:apply(d, 1, which.min) : dim(X) must have a positive length
我的简单代码存在问题,它有什么问题?
答案 0 :(得分:1)
kmeans
仅适用于数值矩阵。正如@thelatemail指出的那样,iris
的第5列不是数字。cl_predict
代替clue
predict.kmeans
醇>