R初学者。
来自相对湿度传感器的数据发生故障并产生超过100的值并需要转换为NaN。任何帮助表示赞赏!我应该使用ifelse吗?
此代码hive1.1 [hive1.1 $ int_h> 100]< - NaN产生此错误:
[<-.data.frame
(*tmp*
,hive2.1 $ int_h&gt; 100,value = NaN)出错:
数据帧的下标分配中不允许缺少值
答案 0 :(得分:1)
您需要更好地关注作业:
hive1.1[hive1.1$int_h > 100, "int_h"] <- NaN
或者:
is.na(hive1.1[ , 'int_h"]) <- hive1.1$int_h > 100
您的代码并未将分配限制在感兴趣的列中。
答案 1 :(得分:0)
我仍在猜测你的数据,但也许这就是:
hive1.1$int_h <- ifelse(hive1.1$int_h > 100, NA, hive1.1$int_h)
单词中,检查值是否为&gt; 100,如果是这样,用NA
替换它,不是,不管它(或者更严格地说,用它自己替换它)。见?ifelse
。 ifelse
被矢量化,因此它按顺序对每个值进行操作。