R 如何在分配值时处理NAs
我有一个数据帧R 如何在分配值时处理NAs,r,R,我有一个数据帧x,它包括两个变量fdhm1和fdhm2。现在,我想根据fdhm1和fdhm2的两个值生成一个新变量fdhm 具体来说,如果fdhm1!=NA和fdhm2==0,fdhm您可以尝试!is.na(x$fdhm1)(而不是x$fdhm1!=na),例如 然后 由于NA表示缺少的值,因此涉及NA的逻辑操作通常被硬编码为返回NA,而不是TRUE或FALSE。我已通过重新编写条件use不应成为询问的条件来解决此问题!NA之前==0类似使用 fdhm <- NA x <-
x
,它包括两个变量fdhm1
和fdhm2
。现在,我想根据fdhm1
和fdhm2
的两个值生成一个新变量fdhm
具体来说,如果fdhm1!=NA
和fdhm2==0
,fdhm您可以尝试!is.na(x$fdhm1)
(而不是x$fdhm1!=na
),例如
然后
由于NA
表示缺少的值,因此涉及NA
的逻辑操作通常被硬编码为返回NA
,而不是TRUE
或FALSE
。我已通过重新编写条件use不应成为询问的条件来解决此问题!NA
之前==0
类似使用
fdhm <- NA
x <- cbind(x,fdhm)
use <- x$fdhm1 != NA & x$fdhm2 == 0
x$fdhm[use] <- x$fdhm1[use]
x <- within(x,fdhm <- ifelse(!is.na(fdhm1)&fdhm2==0,fdhm1,NA))
> u
[1] NA 2 NA 1 NA
> u!=NA
[1] NA NA NA NA NA
> !is.na(u)
[1] FALSE TRUE FALSE TRUE FALSE