R初学者在这里。如果大于x,则将列中的值更改为NaN
来自相对湿度传感器的数据发生故障,产生的值超过100,需要转换为NaN。任何帮助表示赞赏!我应该使用ifelse吗?
此代码hive1.1 [hive1.1 $ int_h> 100] < - NaN的产生这样的错误:
错误[<-.data.frame
(*tmp*
,hive2.1 $ int_h> 100,值= NAN): 缺少值不会在数据的下标分配允许框架
R初学者在这里。如果大于x,则将列中的值更改为NaN
来自相对湿度传感器的数据发生故障,产生的值超过100,需要转换为NaN。任何帮助表示赞赏!我应该使用ifelse吗?
此代码hive1.1 [hive1.1 $ int_h> 100] < - NaN的产生这样的错误:
错误[<-.data.frame
(*tmp*
,hive2.1 $ int_h> 100,值= NAN): 缺少值不会在数据的下标分配允许框架
你需要关注你的任务更好:
hive1.1[hive1.1$int_h > 100, "int_h"] <- NaN
或者:
is.na(hive1.1[ , 'int_h"]) <- hive1.1$int_h > 100
您的代码不限制对感兴趣列的分配。
我还在猜测一下自己的数据,但也许这:
hive1.1$int_h <- ifelse(hive1.1$int_h > 100, NA, hive1.1$int_h)
在口头上,检查值> 100,如果是这样,与NA
取代它,它不是,它离开单独(或者更严格地说,用它自己替代它)。见?ifelse
。 ifelse
是矢量化的,所以它按顺序对每个值进行操作。
使用'NA'而不是'NaN'。如果这不能解决问题,请给我们一些您的数据和您正在使用的命令。使用'dput(head(your_object))'并将其粘贴到问题中。 – 2014-11-21 02:41:02
'NaN'不是'数字',通常保留为未定义的返回值,虽然它比这更复杂一点。 “NA”仅仅意味着“不可用”,即没有数字。 – 2014-11-21 02:54:04
显然你没有看到我留在[你的其他问题]可重复的示例链接(http://stackoverflow.com/questions/27052543/how-to-convert-0s-to-nans-in-certain-columns-的非数据帧,在-R) – 2014-11-21 03:01:32