在R包“classInt”中使用fixedBreak参数

时间:2013-05-11 00:22:53

标签: r rworldmap

我试图将classInt包与R中的rworldmap包结合使用来构建一个等值区。我想使用fixedBreaks参数来指定给定的中断。

我的数据如下:

> head(Maji)

 Country       waterused  CC
 Afghanistan   36        AFG
 Albania        4        ALB
 Algeria       52        DZA
 Angola         0        AGO
 Antigua       10        ATG
 Argentina      4        ARG

waterused是一个百分比(范围:0-4600),CC是国家/地区代码(IS03-alpha)。

当我尝试时,

classInt <- classIntervals(ww[["waterused"]], n=5, style="fixed", fixedBreaks=c(0,25,50,75,100,4565))
**Warning message:
      In classIntervals(ww[["waterused"]], n = 5, style = "fixed", fixedBreaks = c(0,  :
      var has missing values, omitted in finding classes**

我已经尝试了多个参数style并且没有成功,因此我的地图不正确。此外,我的数据框没有丢失的数据点。你有什么建议/有明显的解决方法吗?

1 个答案:

答案 0 :(得分:0)

您的语法没有问题。我将它复制到我自己的数据集并更改了数据框名称和变量名称,并更改了最小/最大值,它完美地工作。

您的问题在于您假设您的数据集不包含任何缺失。我将演示使用示例数据集(如Victor K.争论)。

id        <- c(1:10)
waterused <- c(0, 10, 20, 60, 80, 91, 92, 93, 94, 4565)
classInt  <- classIntervals(ww[["waterused"]], 
                 n=5, style="fixed", fixedBreaks=c(0,25,50,75,100,4565))

这样可以避免错误+你可以通过运行来检查:

str(classInt)

为了复制你的错误,我现在将'waterused'添加一个缺失值:

ww$waterused[3] <- NA
table(is.na(ww$waterused))    # 1 missing and 9 non-missing values
classInt.na     <- classIntervals(ww[["waterused"]], 
                       n=5, style="fixed", 
                       fixedBreaks=c(0,25,50,75,100,4565))

这导致您报告的错误完全相同。因此,请再次检查“waterused”变量中的任何NA。