📅  最后修改于: 2023-12-03 15:07:48.036000             🧑  作者: Mango
在 R 编程中,我们经常需要将数值型向量划分为几个范围。一个常见的例子是将年龄分为不同的年龄组。cut() 函数是 R base 包中的一个函数,可以帮助我们将一个数值型向量划分为预定数量的范围。
cut(x, breaks, labels = NULL, include.lowest = FALSE, right = TRUE, dig.lab = 3, ordered_result = FALSE)
参数说明:
我们来看一个简单的示例,将年龄划分成三个等距的范围:
# 创建一个年龄向量
age <- c(10, 15, 20, 25, 30, 35, 40)
# 将年龄划分成三个等距的范围
age_range <- cut(age, breaks = 3, include.lowest = TRUE)
# 查看结果
age_range
输出结果如下:
[1] [9.96,20) [9.96,20) [9.96,20) [20,30) [20,30) [30,40) [30,40)
Levels: [9.96,20) < (20,30) < (30,40]
我们可以看到,将年龄划分成三个等距的范围后,得到了一个有序因子向量。每个范围的标记包括左侧的断点和右侧的断点,范围是左开右闭(左侧包含,右侧不包含)的。设置 include.lowest 参数为 TRUE,使该范围包括左侧的最小值。
如果我们想使用自定义标签来为每个范围命名,只需提供 labels 参数:
# 创建一个年龄向量
age <- c(10, 15, 20, 25, 30, 35, 40)
# 自定义标签
age_labels <- c("Youth", "Middle Aged", "Elderly")
# 将年龄划分成三个等距的范围,并自定义标签
age_range <- cut(age, breaks = 3, include.lowest = TRUE, labels = age_labels)
# 查看结果
age_range
输出结果如下:
[1] Youth Youth Youth Middle Aged Middle Aged Elderly Elderly
Levels: Youth < Middle Aged < Elderly
我们可以看到,现在每个范围都被命名为了自定义的标签。
cut() 函数是在 R 编程中将向量划分为范围的实用函数。 你可以利用它来将数值型向量划分为几个等距的范围,并为每个范围提供自定义的标签。