Я думаю, вы хотели использовать $
вместо %
для обозначения имен столбцов.
Если вы запустите код шаг за шагом, это поможет вам понять.
seq
создает последовательность от 0 до 1 длиной 4.
seq(0,1,length=4)
#[1] 0.000 0.333 0.667 1.000
quantile
разбивает вектор на квантили данных с заданной вероятностью (здесь seq(0,1,length=4)
).
set.seed(123)
x <- runif(10)
cutpoints <- quantile(x, seq(0,1,length=4),na.rm=TRUE)
# 0% 33.3% 66.7% 100%
#0.0456 0.4566 0.7883 0.9405
и теперь эти разрывы используются для cut
данных.
cut(x, cutpoints)
означает, что мы делим x
на разные группы, где cutpoints[1]-cutpoints[2]
- одна группа, cutpoints[2]-cutpoints[3]
- другая группа и так далее.
Вы также можете использовать findInterval
вместо cut
.