首页 > 解决方案 > 用 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)

先感谢您!

标签: rgroup-bycluster-analysisaggregationquantile

解决方案


这会给你想要的吗?

# 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 

推荐阅读