想用R语言中maptools工具包将中国31省市分类着色,各个省市数值不同,已经分成了三类,第一类用红色,第二类用绿色,第三类用其他颜色,采用条件语句,但是总是出现错误,现将程序粘贴与此,请各位帮忙,谢谢!
程序:
provname=c("北京市","天津市","河北省","山西省","内蒙古自治区","辽宁省","吉林省","黑龙江省","上海市","江苏省","浙江省","安徽省","福建省","江西省","山东省","河南省","湖北省","湖南省","广东省","广西壮族自治区","海南省","重庆市","四川省","贵州省","云南省","西藏自治区","陕西省","甘肃省","青海省","宁夏回族自治区","新疆维吾尔自治区");
pop=c(0.703588,0.837046,1.069312,1.0652,1.08709,0.92414,0.858264,0.876926,1.261306,1.27877,1.227256,1.020232,0.910269,0.95867,1.219773,0.959841,1.113117,1.07381,1.431527,0.872383,0.773907,0.864137,1.289779,1.118233,0.975587,0.643821,1.05085,0.928015,0.717806,0.817642,1.071703);
if(pop>1.22)
{provcol=rgb(red=1-pop/max(pop)/2,green=0,blue=0)}
else if(pop<0.83)
{provcol=rgb(red=0,green=1-pop/max(pop)/2,blue=0)}
else
{provcol=rgb(red=1-pop/max(pop)/2,green=1-pop/max(pop)/2,blue=0)}
plot(x,col=getColor(x,provname,provcol,"white"),xlab="",ylab="");
出现的错误信息:
警告信息:
In if (pop > 1.22) { : 条件的长度大于一,因此只能用其第一元素
> else if(pop<0.83)
错误: 意外的'else' in "else"
> {provcol=rgb(red=0,green=1-pop/max(pop)/2,blue=0)}
> else
错误: 意外的'else' in "else"