服务器之家

服务器之家 > 正文

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

时间:2022-01-10 15:46     来源/作者:何同尘

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

ifelse

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

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

举例:

?
1
2
x = 5
ifelse(x,1,0)

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

which

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

?
1
which(test,arr.ind=FALSE)

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

举例:

?
1
which(LETTERS == "R")

%in%

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

?
1
element %in% list veator
?
1
1 %in% c(1:3)

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

基本结构展示:

?
1
2
3
4
5
if (7<10) {
  print("Seven is less than ten")
} else{
  print("seven is more than ten")
}

实例演示:

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

1. any()

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

2. all()

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

3. na.omit()

?
1
2
3
4
5
6
7
8
9
10
11
12
13
#放的位置决定是删除单一变量缺失值,还是删除任何变量缺失值
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 写更重复的语句

?
1
2
3
4
5
6
7
8
9
x=100
y=10
if(x<y){
  print("AA")
} else if(x==y){
  print(BB)
} else{
  print(CC)
}

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

原文链接:https://www.jianshu.com/p/b21e4be9b216

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部