關於你對此有何評論,找到下面的代碼:
懇求注意,代碼可以在美觀和效率方面得到改善。 進一步我用了第二個答案,否則它會是混亂。
# calculation of centroits based on:
# https://stat.ethz.ch/pipermail/r-help/2006-May/105328.html
cl <- hclust(dist(mydata, diag = TRUE, upper=TRUE))
cent <- tapply(mydata,
list(rep(cutree(cl, 5), ncol(mydata)), col(mydata)), mean)
dimnames(cent) <- list(NULL, dimnames(mydata)[[2]])
# add up cluster number and data and split by cluster
newdf <- data.frame(data=mydata, cluster=cutree(cl, k=5))
newdfl <- split(newdf, f=newdf$cluster)
# add centroids and drop cluster info
totaldf <- lapply(1:5,
function(i, li, cen) rbind(cen[i, ], li[[i]][ , -11]),
li=newdfl, cen=cent)
# calculate new distance to centroits and sort them
dist_to_cent <- lapply(totaldf, function(x)
sort(as.matrix(dist(x, diag=TRUE, upper=TRUE))[1, ]))
dist_to_cent
爲重心的計算出的hclust
看到R-Mailinglist
你需要幫助瓦特/ R *命令*要得到這個工作,或W/* *的理解,將要使用的過程?這聽起來像是一個關於統計的概念性問題,而不是關於R的編程問題。如果是這樣,這個Q會更好地移植到[交叉驗證](http://stats.stackexchange.com/)(即統計信息)。 SE)。 – gung
統計學上它非常清楚----我需要關於如何在R – hema
中做到這一點的幫助到目前爲止你有什麼R代碼? –