R语言cut函数仅指定分组数时如何获取生成的区间边界值
R语言cut函数自动生成区间边界的查询方法
当你调用cut()函数仅指定分组数量、未手动设置边界时,自动生成的边界值可以通过以下两种方式获取:
方法1:直接提取cut返回结果的内置属性
cut()函数的返回值默认携带breaks属性,存储了自动计算的区间边界,即使你设置了labels = FALSE返回整数编码也不影响该属性的存在。
示例代码:
# 先单独运行cut函数,不要直接改写原列 cut_result <- cut(complexes_data2$FlatPlanAmount, 3, labels = FALSE) # 提取自动生成的边界值 auto_breaks <- attr(cut_result, "breaks") # 打印查看边界 print(auto_breaks) # 确认没问题再赋值到原数据列 complexes_data2$FlatPlanAmount <- cut_result
方法2:通过原始数据复现边界
如果你已经直接改写了原数据列、丢失了cut的返回结果,只要你还保留原始的FlatPlanAmount数值,就可以通过cut默认调用的pretty()函数复现边界:
# 传入原始数值的范围和你设置的分组数即可 raw_range <- range(complexes_data2$FlatPlanAmount) auto_breaks <- pretty(raw_range, n = 3) print(auto_breaks)
补充说明
- cut默认生成的区间为左开右闭格式,例如边界为
c(10,20,30,40)时,三个区间对应为(10,20]、(20,30]、(30,40] - 如果你调用cut时额外设置了
include.lowest = TRUE,第一个区间会调整为左闭右闭,包含最小值
内容的提问来源于stack exchange,提问作者Kaisar
相关产品推荐
相关产品推荐

