Как создать функцию в R для классификации чисел c переменных, которые будут создавать разные категории для разных переменных? - PullRequest
0 голосов
/ 06 февраля 2020

Я хочу классифицировать переменную на основе процентиля. Я написал этот код, но после категоризации Q3 отсутствует в наборе данных! Даже Q1, Q2 и Q4 не классифицируются правильно!

quart_cat <- function(x,y){
     Q1 <- quantile(x[,y], 0.25)
     Q2 <- quantile(x[,y], 0.50)
     Q3 <- quantile(x[,y], 0.75)
     for (i in 1:nrow(x)) {
         if (x[i,y] <= Q1){
         x[i,y] <- paste(colnames(x)[y], sep = '-', "Q1")
         }
         else if (x[i,y] <= Q2){
         x[i,y] <- paste(colnames(x)[y], sep = '-', "Q2")
         } 
         else if (x[i,y] <= Q3){
         x[i,y] <- paste(colnames(x)[y], sep = '-', "Q3")
         }
         else{
         x[i,y] <- paste(colnames(x)[y], sep = '-', "Q4")
         }
     }
     return(x)
 }

1 Ответ

0 голосов
/ 06 февраля 2020

вы можете использовать функцию cut:

quart_cat <- function(x, y){
  cut(x[, y], quantile(x[,y]), paste0(colnames(x)[y], "-Q", 1:4), include.lowest = T)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...