Skip to main content
 首页 » 编程设计

R语言内置cut函数应用教程

2022年07月19日140exmyth

实际数据处理中,通常会遇到按照一定范围对数据进行分组统计。本文我们看R内置的cut函数如何实现该功能。

cut函数介绍

cut函数可以依据给定的数据范围对数据进行分组。另外cut函数还提供了label参数,可以把数值向量转换为因子值。

下面我们介绍下cut函数的参数,语法形式如下:

# cut(x, breaks, labels = NULL, include.lowest = FALSE, right = TRUE) 
  • x : 需要转换的数值向量

  • breaks: 可是分为几组的数值,或表示范围的数值向量

  • labels: 给结果增加标签,如果不指定,默认为数值范围

  • include.lowest,是否包括范围下限,默认为FALSE

  • right, 是否包括范围上限,默认为FALSE

  • ordered_result 布尔值,是否为顺序因子

当传递 breaks=n 参数时,整个x向量会被分为n组。

下面看几个示例。

breaks 参数为单值

d1 <- c(1:9) 
d1 
table(cut(d1, 3)) 
 
# 返回结果 
# (0.992,3.67]  (3.67,6.33]  (6.33,9.01]  
#            3            3            3  

breaks 参数为范围

d2 <- c(90:99,97.5,99.5,98.5,96.5,99) 
d2 
table(cut(d2,c(90:100), include.lowest=TRUE, right=TRUE)) 
 # [90,91]  (91,92]  (92,93]  (93,94]  (94,95]  (95,96]  (96,97]  (97,98]  (98,99] (99,100]  
 #       2        1        1        1        1        1        2        2        3        1  
 

labels参数应用

labels参数可传入因子级别,则cut函数返回因子类型。

d3 = c(160,165,170,175,178,180,182) 
cut_res = cut(d3, 3, labels = c('S', 'XS', 'XXS'))   
table(cut_res) 
 
# 返回结果 
# S  XS XXS  
# 2   1   4  

本文参考链接:https://blog.csdn.net/neweastsun/article/details/121807879
阅读延展