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

时间:2021-05-20

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

ifelse

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

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

举例:

x = 5ifelse(x,1,0)

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

which

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

which(test,arr.ind=FALSE)

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

举例:

which(LETTERS == "R")

%in%

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

element %in% list veator1 %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代表只要有任一值符合,即为TRUEif (any(titanicC$Age>70)) { print("there are passengers older than 70")} else{ print("no one is older than 70")}

2. all()

#所有都满足才trueif (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=100y=10if(x<y){ print("AA")} else if(x==y){ print(BB)} else{ print(CC)}

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章