Из cut2
HelpFile:
Функция как срезанные, но левые концы включают и метки имеют форма [нижняя, верхняя), за исключением того, что последний интервал [снизу, сверху]. Если указаны разрезы, по умолчанию убедитесь, что разрезы включают весь диапазон .
Таким образом, cut2
в основном cut
с несколькими различными значениями по умолчанию. Давайте посмотрим на cut
.
cut
От HelpFile:
разреза делит диапазон й на интервалы и коды значений х в соответствии с которым они падают интервал. Самый левый интервал соответствует уровню первый, следующий слева до уровня два и так далее.
От quantile
HelpFile:
Родовой функции квантиль производит выборки квантилей, соответствующие для заданных вероятностей. Наименьшее наблюдение соответствует вероятности 0 и самый большой в вероятности 1.
Один режет диапазон x
, другие подрезает «частоты» в x
.
Иллюстрация:
out <- 0:100
out2 <- c(seq(0, 50, 0.001), 51:100)
Оба имеют один и тот же диапазон. От 0 до 100.
levels(cut(out,4, include.lowest = T))
[1] "[-0.1,25]" "(25,50]" "(50,75]" "(75,100]"
levels(cut(out2,4, include.lowest = T))
[1] "[-0.1,25]" "(25,50]" "(50,75]" "(75,100]"
Но есть еще много «точек данных», живущие в out2
, в частности, для значений от 0 до 50. Таким образом, они не имеют те же частоты вдоль диапазона:
quantile(out)
0% 25% 50% 75% 100%
0 25 50 75 100
quantile(out2)
0% 25% 50% 75% 100%
0.0000 12.5125 25.0250 37.5375 100.0000
В этом разница между cut
и quantile
.
Приведенный выше пример также показывает вам, когда оба соглашаются, а именно в случае равномерных распределений. Например, последовательность от 0 до 100 равномерно распределяется в диапазоне от 0 до 100. Здесь оба они в основном идентичны.
Чтобы проиллюстрировать еще дальше, рассмотрим:
outdf <- data.frame(out=out, cut=cut(out,4, include.lowest = T))
out2df <- data.frame(out=out2, cut=cut(out2,4, include.lowest = T))
table(outdf$cut)
[-0.1,25] (25,50] (50,75] (75,100]
26 25 25 25
table(out2df$cut)
[-0.1,25] (25,50] (50,75] (75,100]
25001 25000 25 25
Здесь вы четко увидеть различные частоты в каждом бункере.
Благодарим вас за хорошо объясненный ответ - это очень помогло. – Maeve90
Рад, что я мог помочь. – coffeinjunky