Кажется, что в исходном наборе данных случайно оказалось тринадцать значений вместо двенадцати. Тринадцать значений нельзя разделить поровну на три квантильные группы (как упоминает BondedDust). Вот исходная проблема, за исключением того, что одно выбранное значение данных (-1,74953) исключено, что делает их двенадцатью значениями. Это дает первоначально ожидаемый результат:
library(Hmisc)
c<-c(-4.18304,-3.18343,-2.93237,-2.82836,-2.13478,-2.01892,-1.88773,-1.83124,-1.74858,-0.63265,-0.59626,-0.5681)
cut2(c, g=3,onlycuts=TRUE)
#[1] -4.18304 -2.13478 -1.74953 -0.5681
Чтобы сделать его более понятным для тех, кто не знаком с cut2
из пакета Hmisc
(например, меня этим утром), здесь аналогичная задача, за исключением того, что мы будем использовать целые числа от 1 до 12 (назначенные вектору dozen_values
).
library(Hmisc)
dozen_values <-1:12
quantile_groups <- cut2(dozen_values,g=3)
levels(quantile_groups)
## [1] "[1, 5)" "[5, 9)" "[9,12]"
cutpoints <- cut2(dozen_values, g=3, onlycuts=TRUE)
cutpoints
## [1] 1 5 9 12
# Show which values belong to which quantile group, using a data frame
quantile_DF <- data.frame(dozen_values, quantile_groups)
names(quantile_DF) <- c("value", "quantile_group")
quantile_DF
## value quantile_group
## 1 1 [1, 5)
## 2 2 [1, 5)
## 3 3 [1, 5)
## 4 4 [1, 5)
## 5 5 [5, 9)
## 6 6 [5, 9)
## 7 7 [5, 9)
## 8 8 [5, 9)
## 9 9 [9,12]
## 10 10 [9,12]
## 11 11 [9,12]
## 12 12 [9,12]
Обратите внимание, что первая группа квантилей включает все до, но не включая, 5 (т. е. от 1 до 4, в данном случае). Вторая группа квантилей содержит от 5 до, но не включая, 9 (т.е. от 5 до 8, в данном случае). Третья (последняя) квантильная группа содержит числа от 9 до 12, которые включают последнее значение 12. В отличие от других квантилевых групп, третья квантильная группа включает последнее отображаемое значение.
В любом случае, вы можете видеть, что «точки отсечения» 1
, 5
, 9
и 12
наиболее лаконично описывают начальную и конечную точки групп квантилей, но без чтение соответствующей документации (ссылка на одностраничный сайт Inside-R вместо почти 400-страничного руководства в формате PDF).
См. это объяснение о скобках и квадратных скобках, если это вам незнакомо.
person
Christopher Bottoms
schedule
23.10.2014