打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
R 语言根据条件判断返回ABCD状态

这是测试公众号能不能全文跳转

@

  • 1.写一个循环

  • 2.穷举,将所有的可能都罗列上

  • 3. 使用apply函数,进行批量处理

  • 4. 用他提供的数据进行测试


前言

有朋友给我写信,问我R语言的问题,与其回复代码,不如写篇博客,顺便试试CSDN的新模板。

一、问题解析

判断是否满足某个条件,然后返回相应的值。「比如:」

  • 21~30,返回A
  • 32~40,返回B
  • ……

二、解决方案

1.写一个循环

代码如下(示例):

if(x >= 22 & x <= 30){
    return("A")
  }

2.穷举,将所有的可能都罗列上

代码如下(示例):

test_f = function(x){
  if(x >= 22 & x <= 30){
    return("A")
  }else if(x >=31 & x<=40){
    return("B")
  }else if(x >=41 & x <=50){
    return("C")
  }else if(x >=51 & x <=60){
    return("D")
  }else if(x >61 & x <=70){
    return("E")
  }
}

3. 使用apply函数,进行批量处理

apply(dd,1,test_f)

4. 用他提供的数据进行测试

dd = data.frame(age = c(22,23,24,35,36,37,45,46,47,56,57,65,67))

test_f = function(x){
  if(x >= 22 & x <= 30){
    return("A")
  }else if(x >=31 & x<=40){
    return("B")
  }else if(x >=41 & x <=50){
    return("C")
  }else if(x >=51 & x <=60){
    return("D")
  }else if(x >61 & x <=70){
    return("E")
  }
}

apply(dd,1,test_f)

dd$status = apply(dd,1,test_f)
dd

「测试结果:」

> dd
   age status
1   22      A
2   23      A
3   24      A
4   35      B
5   36      B
6   37      B
7   45      C
8   46      C
9   47      C
10  56      D
11  57      D
12  65      E
13  67      E

总结

这是R语言的循环判断,是一个if函数的应用。

「更好的方法」可以用letters函数,进行自动赋值,而不用罗列全部的ABCDEFG,会智能一点。这里不再介绍。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何快速学习一门新的编程语言?
R语言将字符串矩阵转化为数值型矩阵
C语言学习教程第三章-C语言程序设计初步(9)
R 语言入门不得不知的七个小知识
六种主流编程语言(C、C++、Python、JavaScript、PHP、Java)特性对比
收藏|零基础学R,不可不会的自定义函数与控制
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服