Измените количество классов столбца, чтобы квантовать группы с помощью R

#r #group-by #cluster-analysis #aggregation #quantile

#r #групповое-по #кластерный анализ #агрегирование #квантильный

Вопрос:

У меня возникают трудности с кластеризацией моих данных в столбце на 4 группы, которые относятся к процентам квантилей. Кто-нибудь может мне помочь? Я перечислил свои неудачные попытки ниже.

Попытка номер 1:

 data$Temperatura <- cut(data$Temperatura, breaks = c(96.3, 97.8, 98.7, 100,8),
    labels = c(1,2,3,4))
 

Попытка номер 2:

 data$Temperatura = data.frame(1 = c(96.3, 97.8, 98.7, 100,8))
data$Temperatura <- cut(Temperatura, c(96.3, 97.8, 98.7, 100,8))
 

Попытка номер 3:

 sapply(data, class)
range(Temperatura)
quantile(data$Temperatura)
 

Заранее благодарю вас!

Комментарии:

1. Ваш последний квантиль 8 кажется очень странным, вероятно, неправильным, если я чего-то не упускаю.

Ответ №1:

Дает ли это вам то, что вы хотите?

 # example data
Temperatura <- runif(30, 90, 110)
# cut by quantile
cTemperatura <- cut(Temperatura,
                    breaks=quantile(Temperatura),
                    labels = as.character(1:4),
                    include.lowest = TRUE)
# display
setNames(round(Temperatura,1), cTemperatura)
#    1     4     3     4     2     1     1     4     3     2     1     1     3     3 
# 92.6 107.2  99.2 108.4  97.5  94.6  92.1 108.9 101.2  95.2  91.0  94.4 104.8 104.0 
#    2     2     1     4     4     2     3     3     4     3     2     2     1     4 
# 96.5  97.5  90.3 107.7 107.0  95.6 106.0 102.9 109.8  98.6  98.4  95.3  90.7 106.7 
#    4     1 
#108.5  93.5