【发布时间】:2020-09-23 12:28:55
【问题描述】:
我有一个数据框x,其中包括两个变量fdhm1 和fdhm2。现在,我想根据fdhm1 和fdhm2 的值生成一个新变量fdhm。
具体来说,如果fdhm1 != NA 和fdhm2 ==0,fdhm <- fdhm1。否则,fdhm <- NA。
这是我的代码:
fdhm <- NA
x <- cbind(x,fdhm)
use <- x$fdhm1 != NA & x$fdhm2 == 0
x$fdhm[use] <- x$fdhm1[use]
但是弹出了一条错误消息,说NAs are not allowed in subscripted assignments
不知道是什么原因?
【问题讨论】:
-
我已经通过重写条件
use <- x$fdhm2 == 0 & !is.na(x$fdhm2) & !is.na(x$fdhm1)解决了这个问题@ -
不应该是在
== 0之前询问!NA的条件,比如use <- !is.na(x$fdhm2) & x$fdhm2 == 0 & !is.na(x$fdhm1)?
标签: r