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

R 语言
邓飞    2020-09-16    1056

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

  @

  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函数的应用。

  本文来自微信公众号【育种数据分析之放飞自我】公众号ID:R-breeding;未经许可谢绝二次转载至其他网站。

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

本文为专栏作者授权科易网发表,版权归原作者所有。文章系作者个人观点,不代表科易网立场,转载请联系原作者。如有任何疑问,请联系ky@1633.com。

熟练使用统计软件和遗传评估软件,负责开发了具有数据管理、常规遗传评估、MAS、GWAS和GS的育种云平台,具有丰富的全基因组选择分析及平台建设经验。 [查看更多]

28374阅读数 19139访问数 1914订阅数
热门观点

向邓飞提问