我是比較新的R.我只是試圖找出集羣的最佳數目使用以下方法虹膜數據:查找集羣編寫中的R代碼中的錯誤
library(datasets)
head(iris)
# method1:
wss <- (nrow(iris)-1)*sum(apply(iris,2,var))
for (i in 2:3) wss[i] <- sum(kmeans(iris, centers=i)$withinss)
plot(1:3, wss, type="b", xlab="Number of Clusters",ylab="Within groups sum of squares")
# method2:
library(fpc)
pamk.best <- pamk(iris)
cat("number of clusters estimated by optimum average silhouette width:", pamk.best$nc, "\n")
plot(pam(iris, pamk.best$nc))
這兩種方法都扔了錯誤。所以請做一些揭示它的人。提前謝謝了。
當您收到錯誤消息時,您應該在您的問題中包含確切的錯誤消息。你看過'apply(iris,2,var)'的結果嗎?這可能會讓你知道發生了什麼。您不能直接在分類(因子)數據上使用kmeans。 – MrFlick
與編程無關:我認爲你的kmeans最佳聚類數量的標準不應該是withinss的最小值,因爲這會減少每次添加聚類,直到每個觀察都是一個聚類。 –