2016-03-16 65 views
-4
Here is a list of persons with their scorecards(Z) 
set.seed(10) 
df <- data.frame(X = sample(c("Male", "Female"), 40, replace = TRUE),Y= sample (c("Graduate", "Non-graduate"), 40, replace = TRUE),Z =10*runif(40)) 
library(dplyr) 
df1 <- df %>% group_by(X,Y) %>% arrange(X,Y) 
df1 

(DF1>其縮寫是圖像)聚類每組

enter image description here

在每一組中(女研究生,女性非學位,男性畢業,男性非學位),我們想要創建羣集。最後,我們需要爲每個人提供一個唯一的羣集ID。這意味着輸出文件是一個clusterid數組。

+3

你有什麼問題,你有什麼嘗試? – mtoto

+1

請**不要交叉**:重複在http://datascience.stackexchange.com/q/10735/924 –

回答

0

嘗試

hc <- hclust(dist(scale(data.matrix(df1)))) 
plot(hc) 
View(newdf <- cbind(df1, cluster=cutree(hc, h = 0.5))) 

data.matrix你的兩個因素轉換成其數字表示,scale給予同等重視X,Y和Z和cutree通過將樹形圖在一個高度獲得羣集爲每個觀察0.5。