2015-05-29 104 views
1

我正在寫一個函數,它將我的數據劃分爲簇。每個羣集應該是一個因子級別。我怎樣才能將鄰近因素水平合併爲一個?最後,我想擁有因子標籤,這些標籤顯示了羣集中最低和最高的號碼。例如,如果我有數據:組合因子水平

data <- c(1,2,1,1,2,4,2,3,3,2,4,3,2) 
data2 <- as.factor(data) 

因此,這將使一個因素與4個級別。比方說,我想結合第二和第三級。我能想到的唯一的事情就是使用剪切()函數:

data2 <- cut(data, breaks=c(0,1,3,4)) 

,給了我一個因素與水平「(0,1]」「(1,3]」「(3,4] 「現在我想將」(1,3)「和」(3,4)「合併爲一個」(1,4)「級別,我該如何做到這一點?是否可以做到這一點使用DATA2?我知道我可以使用數據切()做到這一點,但是當我將有大量的數據,聚類可能會導致混亂。

回答

1

只是做

levels(data2)[2:3] <- '(1,4]' 
data2 
#[1] (0,1] (1,4] (0,1] (0,1] (1,4] (1,4] (1,4] (1,4] (1,4] (1,4] (1,4] (1,4] 
#[13] (1,4] 
#Levels: (0,1] (1,4]