【问题标题】:sp R package and missing valuessp R 包和缺失值
【发布时间】:2011-12-29 04:49:30
【问题描述】:

我正在尝试使用 sp 包在 R 中创建气泡图。我的数据有很多缺失值(“N/A”),气泡图似乎不喜欢它。

library(sp)
X<-runif(100, min=0, max=1000)
Y<-runif(100, min=0, max=1000)
grade<-c((rnorm(n=50,mean=30, sd=4)), (rep(NA, 50)))
df<-data.frame(X,Y, grade)
coordinates(df)<-~X+Y
bubble(df, "grade", na.rm=TRUE)

当我运行此代码时,我收到一条错误消息“quantile.default(data[, zcol]) 中的错误:如果 'na.rm' 为 FALSE,则不允许缺少值和 NaN”。

我不明白,因为我说过要删除缺失值!我怀疑 sp 处理我错过的缺失值的方法略有不同

【问题讨论】:

  • 他们是"NA" 还是NA 缺失值?

标签: r method-missing


【解决方案1】:

试试这个(因为 na.rm 似乎没有传递给正确的函数):

bubble(df[!is.na(df$grade), ], "grade")

'SpatialPointsDataFrame'-objects 还有一个子集方法:

bubble(subset(df, !is.na(grade)), "grade")

【讨论】:

    【解决方案2】:

    如果您阅读 help(bubble),您会发现没有 na.rm 参数。仅仅因为它适用于 lm 和 glm 并不意味着它可以在任何地方工作。请记住,R 是由数百人编写的,并没有普遍要求遵循 na.rm 始终有效的规则。

    注意,bubble 有一个“...”参数 - 这将捕获您的 'na.rm' 并将其传递给 xyplot - 但它也没有 na.rm 参数。这并不重要,因为气泡中的代码甚至在考虑调用 xyplot 之前就抛出了错误。

    子集就是答案(如前所述)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-06
      • 2021-11-16
      • 1970-01-01
      相关资源
      最近更新 更多