-1
比方說,我們有以下數據集R:分層聚類
set.seed(144)
dat <- matrix(rnorm(100), ncol=5)
下面的函數創建列的所有可能的組合,並刪除第一
(combinations <- do.call(expand.grid, rep(list(c(F, T)), ncol(dat)))[-1,])
# Var1 Var2 Var3 Var4 Var5
# 2 TRUE FALSE FALSE FALSE FALSE
# 3 FALSE TRUE FALSE FALSE FALSE
# 4 TRUE TRUE FALSE FALSE FALSE
# ...
# 31 FALSE TRUE TRUE TRUE TRUE
# 32 TRUE TRUE TRUE TRUE TRUE
最後一步是運行K均值聚類爲每個列子集,這是一個簡單的應用程序(我們希望在每個kmeans模型中有3個聚類):
models <- apply(combinations, 1, function(x) kmeans(dat[,x], 3))
我的問題是如何運行的分層聚類,而不是K均值爲列的每個子集。任何想法?
輝煌,謝謝! –