R语言包括两个逻辑值:TRUE、FALSE,其它编程语言经常称为布尔值,下面就来介绍R语言逻辑的应用。

条件运算产生逻辑值

> a <- 1

> b <- 2

> a>b

[1] FALSE

> a<b

[1] TRUE

> a == b

[1] FALSE

> a != b

[1] TRUE

 

逻辑运算

&、&&、|、||,不同的是&和|作用在对象的每一个元素上,&&和||只作用在对象第一个元素上

> c <- 3

> (a<b)&&(b<c)

[1] TRUE

这里实际相当于TRUE&&TRUE得到TRUE。

> (a<b)&(b<c)

[1] TRUE

> a1 <- c(TRUE,FALSE,TRUE)

> a2 <- c(FALSE,FALSE,TRUE)

> a1&a2

[1] FALSE FALSE  TRUE

> a1&&a2

[1] FALSE

> a1|a2

[1]  TRUE FALSE  TRUE

> a1||a2

[1] TRUE

 

 

all、any

 

all、any分别是都满足条件或者存在满足,如下

> d <- c(1,2,1)

> all(d == 1)

[1] FALSE

> any(d == 1)

[1] TRUE

还有实际应用非常灵活,比如:

> e <- c(1,2,3,3,2,1)

> print(e ==1)

[1]  TRUE FALSE FALSE FALSE FALSE  TRUE

> print(e[e == 1])

[1] 1 1

或者,我们这样看,下面FALSE简写为F,TRUE简写为T,则

> luoji <- c(T,F,T,F,T)

> f <- c(1:5)

> print(f[luoji])

[1] 1 3 5

 

 

还有比如,%in%

> 1 %in% c(1,2,1)

[1] TRUE

 

实际中,逻辑运算非常便利,也用的非常广泛,需要灵活运用,可以使得我们的代码轻便、易读、高效。还有很多用法需要实际实践、总结。

觉得有用,欢迎点赞、分享!