if(x [i]> 0){:缺失值需要TRUE / FALSE时出错

时间:2014-12-24 10:32:26

标签: r shapefile maptools

我的代码中有这一行为点密度贴图创建点。我误用的功能是maptools包中的dotsInPolys。当我运行它时,我收到此错误,我不确定它的含义。有人可以帮忙吗?

NSWdots <- dotsInPolys(NSW, as.integer(datajoin$pop.10))

NSW是一个shapefile,datajoin $ pop.10是一个数字向量。

给定的错误是:

Error in if (x[i] > 0) { : missing value where TRUE/FALSE needed

1 个答案:

答案 0 :(得分:2)

数据框中的某个位置有一些NA值,您会收到错误。

看看这里发生了什么:

 NA > 0 #this returns NA
[1] NA

如果我在if声明中使用它:

> if (NA > 0) print('Hello')
Error in if (NA > 0) print("Hello") : 
  missing value where TRUE/FALSE needed

我得到了和你一样的错误。

在您的情况下,x[i]的某些实例为NA,并返回上述错误。您需要找到一种方法来删除/处理数据中的NA值。