R cut() 函数 - 数值分箱
R cut() 函数用于将连续数值划分为离散的区间(分箱)。
分箱是数据预处理的重要步骤,常用于创建分组统计和直方图。
cut() 函数语法格式如下:
cut(x, breaks, labels = NULL, right = TRUE)
参数说明:
x 输入数值向量。
breaks 断点向量,或所需区间的个数。
labels 自定义区间标签,默认使用区间范围。
right 区间是否右闭合,默认 TRUE(左开右闭)。
实例
# 学生成绩
scores <- c(45, 55, 62, 78, 85, 92, 70, 88, 95, 60, 82, 73)
# 按分数段分箱
breaks <- c(0, 60, 70, 80, 90, 100)
labels <- c("不及格", "及格", "中等", "良好", "优秀")
grade <- cut(scores, breaks = breaks, labels = labels)
print("成绩分档结果:")
result <- data.frame(成绩 = scores, 等级 = grade)
print(result)
# 统计各等级数量
print("各等级人数:")
print(table(grade))
scores <- c(45, 55, 62, 78, 85, 92, 70, 88, 95, 60, 82, 73)
# 按分数段分箱
breaks <- c(0, 60, 70, 80, 90, 100)
labels <- c("不及格", "及格", "中等", "良好", "优秀")
grade <- cut(scores, breaks = breaks, labels = labels)
print("成绩分档结果:")
result <- data.frame(成绩 = scores, 等级 = grade)
print(result)
# 统计各等级数量
print("各等级人数:")
print(table(grade))
执行以上代码输出结果为:
[1] "成绩分档结果:"
成绩 等级
1 45 不及格
2 55 不及格
3 62 及格
4 78 中等
5 85 良好
6 92 优秀
7 70 及格
8 88 良好
9 95 优秀
10 60 及格
11 82 良好
12 73 中等
[1] "各等级人数:"
不及格 及格 中等 良好 优秀
2 3 2 3 2

R 语言实例