在介绍关系运算和逻辑运算之前,先说下R的逻辑常量:TRUE
和FALSE
。
在R中,TRUE
和FALSE
分别表示逻辑常量真
和假
,其值分别为1
和0
。
> TRUE + 0
[1] 1
> FALSE + 0
[1] 0
在其它语言中,
TRUE
和FALSE
习惯被称为布尔值 (Boolean value)。
下面分别介绍关系运算和逻辑运算:
1. 关系运算
>
,<
,>=
,<=
,==
和 !=
运算符分别表示大于
,小于
,大于等于
,小于等于
,等于
和不等于
。
> 2 > 3
[1] FALSE
> 3 < 5
[1] TRUE
> 2 >= 2
[1] TRUE
> 2 != 3
[1] TRUE
> FALSE == 0
[1] TRUE
2. 逻辑运算
&
,|
,和 !
运算符分别表示逻辑与
,或
和非
。
> TRUE & FALSE
[1] FALSE
> TRUE & TRUE
[1] TRUE
> TRUE | FALSE
[1] TRUE
> FALSE | FALSE
[1] FALSE
> !FALSE
[1] TRUE
> !TRUE
[1] FALSE
> (2 > 3) | (7 >= 7)
[1] TRUE
除了上面三个常用的逻辑运算符之外,xor()
函数有时也用到,它表示逻辑异或
。如果两个值不相同,异或结果为TRUE
;如果两个值相同,异或结果则为FALSE
。
> xor(TRUE, TRUE)
[1] FALSE
> xor(FALSE, FALSE)
[1] FALSE
> xor(TRUE, FALSE)
[1] TRUE
> xor(2, 3)
[1] FALSE
> xor(2, 2)
[1] FALSE
有些人会纳闷,为啥xor(2, 3)
结果会为FALSE
。那是因为在R中,所有非零值在逻辑运算中都会被当作为TRUE
。因此xor(2, 3)
等价于xor(TRUE, TRUE)
, 再举一些其它例子:
> -100 & 0.2
[1] TRUE
> 0 | 3
[1] TRUE
R中的关系运算和逻辑运算就讲到这。
如若有遗漏,后期将会添加至本博客。
感谢您的阅读!想了解更多有关R语言技巧,请关注我的微信公众号“辉小宝同学”,我将定期更新相关文章。
网友评论