1

我正在尝试将包与 R 中的classInt包结合使用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都没有成功,因此我的地图不正确。此外,我的数据框没有丢失的数据点。你有什么建议/有明显的解决办法吗?

4

1 回答 1

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。

于 2013-10-19T07:16:51.710 回答