R 安娜无缘无故地出现了

R 安娜无缘无故地出现了,r,frame,na,R,Frame,Na,我进去了 data[data$Ozone>31 & data$Temp>90,] 以子集化数据帧,但新帧包含一些肯定不存在的“NA”行。为什么会这样?如果列中有NA值,即使我们转换为逻辑向量,它仍然会显示为NA。为了避免这种情况,我们还可以is.na创建子集的逻辑向量 data[data$Ozone>31 & !is.na(data$Ozone) & data$Temp>90 & !is.na(data$Temp),] i、 e.即使

我进去了

 data[data$Ozone>31 & data$Temp>90,]

以子集化数据帧,但新帧包含一些肯定不存在的“NA”行。为什么会这样?

如果列中有NA值,即使我们转换为逻辑向量,它仍然会显示为NA。为了避免这种情况,我们还可以
is.na
创建子集的逻辑向量

data[data$Ozone>31 & !is.na(data$Ozone) & data$Temp>90 & !is.na(data$Temp),]
i、 e.即使一行中存在
TRUE
值,如果另一列中的对应元素为NA,也可以将该值转换为NA

TRUE & NA
#[1] NA
或者如果两者都是NA

NA & NA
#[1] NA
但是,
FALSE
和NA返回FALSE

FALSE & NA
#[1] FALSE
通过使用
is.na
,我们得到
FALSE
的返回值(对于上面的示例)

返回
NA
将创建一个新的NA行

数据
set.seed(24)
数据
TRUE & !is.na(NA)
#FALSE
set.seed(24)
data <- as.data.frame(matrix(sample(c(NA, 1:120), 2*500, replace=TRUE),
   ncol=2, dimnames=list(NULL, c("Ozone", "Temp"))))