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)
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
	声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
		
评论(0)