Advertisement

R语言学习笔记(1)——cut函数

阅读量:

cut()函数用法

  • cut():将对应的数据划分到对应区间
  • cut(x,y,lables,right,include.lowest)
  • x:待划分的数据
  • y:判断依据(区间)
  • right:逻辑值,默认为区间左开右闭;若为FALSE,则左闭右开。(知识补充:开区间是不包括端点(a,b),闭区间是包括端点[a,b]。)
  • include.lowest:逻辑值,include.lowest=TRUE,第一个区间包含左端点,最后一个区间包含右端点。

#通过cut,简化多重if语句

1.使用 if 函数:

复制代码
    z<-c(36,25,8)
    for(i in 1:3){
      temp<-z[i]
      if(temp<=0){
    print('freezing')
      } else if(temp<=10){
    print('cold')
      } else if (temp<=20){
    print('cool')
      } else if(temp<=30){
    print('warm')
      } else {
    print('hot')
      }
    }

输出如下:

在这里插入图片描述

2.使用 cut 函数:
(一)指定lables

复制代码
    z<-c(36,25,8)
    c0<-c(-50,0,10,20,30,100)
    lables<-c('freezing','cold','cool','warm','hot')
    x<-cut(z,c0,lables,right =TRUE,include.lowest = T)
    x

输出如下:

在这里插入图片描述

(二)未指定lables

复制代码
    z<-c(36,25,8)
    c0<-c(-50,0,10,20,30,100)
    x<-cut(z,c0,lables=FALSE,right =TRUE,include.lowest = T)
    x

输出如下:

在这里插入图片描述

每一个元素都会与向量c0进行比较,在两个数值之间进行比较时就会返回对应区间的标签;如热(hot)、暖(warm)等标签表示温度较高的情况。当lables参数设置为false时,则不会返回任何标签

提示:在使用cut函数时,在待划分的数据恰好落在分段的端点位置的情况下(即数据刚好位于区间分界处),区间开闭的方式将直接影响结果。

在这里插入图片描述

全部评论 (0)

还没有任何评论哟~