逻辑向量与比较运算符、逻辑运算符
逻辑向量即向量中存储的值为TRUE或FALSE。
比较运算符包括:> < <= >= == !=
逻辑运算符包括:! & && | ||
注意:
(1)比较运算符产生的向量为逻辑向量
(2)sum(逻辑向量)可统计逻辑向量中为TRUE的个数
(3)&&表示且,&&只计算向量中的第一个值,||同理
> a=1:10
> b=a>5#比较运算符产生的向量b为逻辑向量
> b
[1] FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE
> sum(b)#统计逻辑向量中为TRUE的个数
[1] 5
> a<10 & a>4
[1] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE FALSE
> a<10 && a>4#&&表示且,&&只计算向量中的第一个值,||同理
[1] FALSE
NA与NaN
NA:not available 意为不可得到的值或丢失的值,如统计某小组身高时,某人的身高未能获得。
NaN:not a number 如0/0,sqrt(-5)可产生
注意:
(1)任何NA值的运算(如加减乘除)结果都是NA
(2)is.na() is.nan()判断缺失值:判断是否为NA值,注意不能用x==NA来判断,Is.na会把nan也判断为true,is.nan会把na判断为false。
> x=c(1,3,5,NA,7,9)
> xx=c(1,3,5,NA,NaN,7,9)
> x+2#任何NA值的运算(如加减乘除)结果都是NA
[1] 3 5 7 NA 9 11
> is.na(x)#判断是否为NA值,注意不能用x==NA来判断
[1] FALSE FALSE FALSE TRUE FALSE FALSE
> is.na(xx)#Is.na会把nan也判断为true
[1] FALSE FALSE FALSE TRUE TRUE FALSE FALSE
> is.nan(xx)#is.nan会把na判断为false
[1] FALSE FALSE FALSE FALSE TRUE FALSE FALSE
(3)某些函数默认是不去掉缺失值,此时会导致计算错误,需查看帮助文档对参数进行调节,改成去掉缺失值。如max和min函数。

max min函数使用说明
> max(x)
[1] NA
> min(x)
[1] NA
> max(x,na.rm=T)
[1] 9
> min(x,na.rm=T)
[1] 1