Дискретизация и категоризация равной ширины для атрибута в моем фрейме данных с непрерывным типом данных - PullRequest
0 голосов
/ 03 февраля 2019

Один атрибут в моем фрейме данных имеет непрерывный тип данных (aggregatedInocme), я хотел бы создать новый атрибут с категориями (Low, Mid, High) на основе значения в атрибуте (aggregatedInocme).Я разделил категоризацию на три диапазона, как показано в моем коде ниже

Я сделал простой код, используя цикл for, и если в качестве статического элемента используется проверка, если значение каждой ячейки в атрибуте принадлежит определенному диапазону, назначьтесоответствующая ему строка

y<-min(data_loanapp$aggregatedInocme)-0
x<-max(data_loanapp$aggregatedInocme)-min(data_loanapp$aggregatedInocme)
c1<-(y+(x/3))
c2<- (y+((2*x)/3))
rr <- c()
 for (val in data_loanapp$aggregatedInocme){
   if(val<= c1) {
      rr[val]<- append(rr[val], 'Low')
     }else if (c1< val<= c2){
      rr[val]<-append(rr[val], "mid")
     }else
      rr[val]<-append(rr[val], "high")
}

rr

Я ожидаю иметь атрибут с любым значением (Low, High, Mid).Но я продолжаю получать атрибут со всеми NA и сообщением об ошибке: В rr [val] <- append (rr [val], "high"): количество заменяемых элементов не кратно длине замены </p>

} Ошибка: неожиданное '}' в "}"

1 Ответ

0 голосов
/ 03 февраля 2019

Я понял это:

#this was used only to find the bins width
library(classInt)
classIntervals(data_loanapp$aggregatedInocme, 3)
data_loanapp$Cat_AggInc<- classIntervals(data_loanapp$aggregatedInocme, 3, 
style 
= 'equal')
#here i defined and created the categores 
data_loanapp$Income_Cat<-c( "low", "medium", "high")[
               findInterval(data_loanapp$aggregatedInocme, c(1442,4583, 6588, 81000))]
data_loanapp$Income_Cat
...