2013-05-11 51 views
1

我试图在R中使用classInt包和rworldmap包来构造一个choropleth。我想使用fixedBreaks参数来指定给定的休息时间。在R包中使用fixedBreak参数“classInt”

我的数据是这样的:

> 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-α)。

当我尝试,

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的变化,并没有取得成功,因此我的地图是不正确的。此外,我的数据框没有缺失的数据点。你有什么建议/是否有明显的修复?

+2

如果没有看到完整的数据,这类问题真的很难回答。你能不能把它发布? – 2013-05-11 00:27:21

回答

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。