qcut
语法
qcut(X, q, [labels],[dropDuplicates=false]
详情
根据元素在数值向量中的排序位置,确定其所属的分位区间。例如,将 1000 个数值按分位数划分为 10 个区间,返回每个元素所属的分位区间。
参数
X 一个数值向量。
q 整型标量或浮点型向量。
- 当为整型标量时,表示分位区间的数量(如 10 表示十分位,4 表示四分位)。
- 当为浮点型向量时,表示分位点,至少包含两个元素,且取值范围为 [0, 1]。
labels 可选参数,一个向量,代表每个分位区间的标签。
- 默认为 NULL,函数返回整型向量,代表每个元素对应的分位区间序号。
- 如果 q 是标量,labels 的长度需要等于 q。
- 如果 q 是向量,labels 的长度需要等于 q 向量长度 -1。
dropDuplicates 布尔值,是否删除重复的区间边界。
- 默认为 false,表示存在重复的区间边界时报错.
- 如果为 true,表示删除重复的区间边界。
返回值
一个向量,代表每个元素所属的分位区间。
例子
// 将数据划分为 4 个分位区间
qcut([1,2,3,4,5,6,7,8,9,10], 4)
// 输出:[0 0 0 1 1 2 2 3 3 3]
// 使用自定义分位点进行划分:0–30%、30–70%、70–100%
qcut([1,2,3,4,5,6,7,8,9,10], [0, 0.3, 0.7, 1.0])
// 输出:[0 0 0 1 1 1 1 2 2 2]
// 将数据划分为 4 个分位区间,并使用自定义标签作为区间标识
qcut([1,2,3,4,5,6,7,8,9,10], 4, ["Q1", "Q2", "Q3", "Q4"])
// 输出:[Q1 Q1 Q1 Q2 Q2 Q3 Q3 Q4 Q4 Q4]
// 启用 dropDuplicates,自动丢弃重复的区间边界
qcut(X=[1, 1, 1, 1, 2, 3],q=4,dropDuplicates=true)
// 输出:[0 0 0 0 2 2]
