2014-02-12 40 views
1

我想用相同的幅度對班級中的變量進行分類。 我還沒有找到一個簡單的方法來做到這一點...有沒有一個功能? 在這一點上與工作:R相同的幅度分類

n<-13 
r<-(max(data[,3])-min(data[,3]))/ (n-1) 
bornes<-seq(from=min(data[,3]),to=max(data[,3]), by=r) 


sel<-data[,3] < min(bornes) 
data$classe[sel]<-1 
sel<-data[,3] > max(bornes) 
data$classe[sel]<-13 


for(i in 2:length(bornes)-1){ 
    b1<-bornes[i-1] 
    b2<-bornes[i] 

sel<-data[,3] > b1 & data[,3] < b2 
data$classe[sel]<-i 
} 

它的工作,但它的醜陋...有一個更好的辦法? 感謝的

Ë

+0

我不完全知道,但是爲直方圖創建頻率表還沒有很長的路要走嗎?看看'hist'和它創建的輸出對象。 –

+0

感謝卡爾,當然是代表!它更優雅與hist(data [,3],bornes)!如果我想從分界點添加一個列的分類?一個好主意? – delaye

回答

1

看看cut

n_breaks <- 13 
data <- rnorm(100) 
categories <- cut(data, seq(min(data), max(data), length.out=n_breaks), include.lowest=T) 
(data.frame(data,categories)) 

希望這會有所幫助。

+0

好極了!謝謝 – delaye