文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

R语言中ifelse、which、%in%的用法详解

2024-04-02 19:55

关注

ifelse、which、%in%是R语言里极其重要的函数,以后会经常在别的程序中看到。

ifelse

ifelse是if条件判断语句的简写,它的用法如下:


ifelse(test,yes,no)
参数 描述
test 一个可以判断逻辑表达式
yes 判断为 true 后返回的对象
no 判断为 flase 后返回的对象

举例:


x = 5
ifelse(x,1,0)

如果x不等于0,就返回1,等于0就返回0。

which

which 返回条件为真的句柄,给正确的逻辑对象返回一个它的索引。


which(test,arr.ind=FALSE)

test 必须是逻辑对象,逻辑数组。

举例:


which(LETTERS == "R")

%in%

%in% 判断 前面的对象是否在后面的容器中


element %in% list veator

1 %in% c(1:3)

补充:R语言:if-else条件判断及any、all、na.omit使用方法

基本结构展示:


if (7<10) {
  print("Seven is less than ten")
} else{
  print("seven is more than ten")
}

实例演示:


Titanic=read.csv("https://goo.gl/4Gqsnz")  #从网络读取数据

1. any()


#any代表只要有任一值符合,即为TRUE
if (any(titanicC$Age>70)) {                                              
  print("there are passengers older than 70")
} else{
  print("no one is older than 70")
}

2. all()


#所有都满足才true
if (all(titanicC$Age>10)) {
  print("all passengers older than 10")
} else{
  print("there are passengers younger than 10")
}

3. na.omit()


#放的位置决定是删除单一变量缺失值,还是删除任何变量缺失值
if (any(na.omit(titanic$Age==100))) {
  print("there are passengers aged 100")
} else{
  print("there are no passengers aged 100")
}                                                                                 
#数据库中只要有missing的记录都删掉
if (any(titanic$Age==80, na.rm=TRUE)) {
  print("there are passengers aged 80")
} else{
  print("there are no passengers aged 80")
}       
#Age这个变量有missing的记录删掉,其他变量有missing可以保留

4. else if 写更重复的语句


x=100
y=10
if(x<y){
  print("AA")
} else if(x==y){
  print(BB)
} else{
  print(CC)
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯