Plotar dados em mapa - problema com NA

Olá a todos! Estou tentando plotar um mapa com dados da exportação do Brasil em determinado ano. O mapa é do GISMAPS, e os dados foram obtidos através do WITS. Já arrumei os dados, e estou conseguindo plotar o mapa quase que corretamente. Minha única dificuldade é em como plotar os dados NA. Eu quero que o Brasil assuma um cor diferente dos demais (azul, por exemplo), e que os países sem dados (NA) estejam em cinza. Abaixo segue o código da parte de plotagem e um excerto dos dados. colors <-brewer.pal(9, "YlOrRd") #Agrega os dados para a exportação por país wits.aggregate <- aggregate(TradeValue.in.1000.USD~PartnerISO3+PartnerName+Year+TradeFlowName, data=wits[which(wits$TradeFlowName=="Export"),], FUN=sum) #Coloca em milhões wits.aggregate$ValueMi <- wits.aggregate$TradeValue.in.1000.USD/1000 #o mapa é copiado - ele é utilizado várias vezes wld.aux <- wld wld.data.aux <- attr(wld.aux, "data") wld.data.aux$index <- 1:dim(wld.data.aux)[1] wld.data.aux <- merge(wld.data.aux, wits.aggregate, by.x="ISO_3DIGIT", by.y="PartnerISO3", all=T, na.action=na.pass) wld.data.aux <- wld.data.aux[order(wld.data.aux$index), ] wld.data <- wld.data.aux[which(wld.data.aux$Year==2002),] brks <- classIntervals(wld.data$ValueMi, n=9, style="quantile") brks <- brks$brks attr(wld.aux, "data") <- wld.data plot(wld.aux, col=colors[findInterval(wld.aux$ValueMi, brks, all.inside=T)], axes=F, bg=NA, mai=c(0,2,2,20)) #início do wld.data: row.names ISO_3DIGIT FIPS_CNTRY GMI_CNTRY ISO_2DIGIT CNTRY_NAME LONG_NAME SOVEREIGN POP_CNTRY CURR_TYPE CURR_CODE LANDLOCKED SQKM SQMI COLOR_MAP index PartnerName Year TradeFlowName TradeValue.in.1000.USD ValueMi 1 1 ABW AA ABW AW Aruba Aruba Netherlands 67074 Euro EUR N 200.35 77.35 1 205 Aruba 2002 Export 10102.756 10.102756 2 3 AFG AF AFG AF Afghanistan Afghanistan Afghanistan 17250390 Afghani AFA Y 642115.94 247920.95 3 45 Afghanistan 2002 Export 24.428 0.024428 3 5 AGO AO AGO AO Angola Angola Angola 11527260 New Kwanza AON N 1252160.88 483459.38 1 115 Angola 2002 Export 398796.168 398.796168 4 7 AIA AV AIA AI Anguilla Anguilla United Kingdom 9208 EC Dollar XCD N 91.57 35.36 6 189 Anguila 2002 Export 126.898 0.126898 5 10 ALB AL ALB AL Albania Albania Albania 3416945 Lek ALL N 28615.98 11048.63 6 40 Albania 2002 Export 9685.900 9.685900 6 12 AND AN AND AD Andorra Andorra Andorra 55335 Euro EUR Y 506.31 195.49 8 32 Andorra 2002 Export 18.070 0.018070 7 15 ARG AR ARG AR Argentina Argentina Argentina 33796870 Peso ARP N 2781207.00 1073824.00 8 124 Argentina 2002 Export 4681092.144 4681.092144 8 17 ARM AM ARM AM Armenia Armenia Armenia 3377228 Dram AMD Y 29636.09 11442.49 7 37 Armenia 2002 Export 4857.284 4.857284 9 19 ASM AQ ASM AS American Samoa American Samoa United States 53000 US Dollar USD N 164.37 63.46 2 226 American Samoa 2002 Export 10.700 0.010700 10 21 ATG AC ATG AG Antigua & Barbuda Antigua and Barbuda Antigua & Barbuda 65212 EC Dollar XCD N 538.66 207.98 2 193 Antigua and Barbuda 2002 Export 1796.010 1.796010 Fico à disposição para fornecer os dados (só indiquem a melhor maneira de fazê-lo!) Abraços e muito obrigado desde já, João Augusto Analista de Negócios Cortex-Intelligence

Olá como estais plotando um mapa, uma sugestão é substituir NA por 0,5 e depois colocar no intervalo a cor cinza. Exemplo: brks = c(0,1,60,9999) colours <- c("gray", "blue", "black","green") Em brks , quem estiver entre 0 e 1 recebe cinza! Espera-se que em seus dados tenham valores "gigantes" Espero ter ajudado! Alexandro
________________________________ De: João Augusto P Batista <joao.augustopb@gmail.com> Para: r-br@listas.c3sl.ufpr.br Enviadas: Quarta-feira, 4 de Setembro de 2013 11:07 Assunto: [R-br] Plotar dados em mapa - problema com NA
Olá a todos!
Estou tentando plotar um mapa com dados da exportação do Brasil em determinado ano. O mapa é do GISMAPS, e os dados foram obtidos através do WITS. Já arrumei os dados, e estou conseguindo plotar o mapa quase que corretamente.
Minha única dificuldade é em como plotar os dados NA. Eu quero que o Brasil assuma um cor diferente dos demais (azul, por exemplo), e que os países sem dados (NA) estejam em cinza. Abaixo segue o código da parte de plotagem e um excerto dos dados.
colors <-brewer.pal(9, "YlOrRd")
#Agrega os dados para a exportação por país wits.aggregate <- aggregate(TradeValue.in.1000.USD~PartnerISO3+PartnerName+Year+TradeFlowName, data=wits[which(wits$TradeFlowName=="Export"),], FUN=sum)
#Coloca em milhões wits.aggregate$ValueMi <- wits.aggregate$TradeValue.in.1000.USD/1000 #o mapa é copiado - ele é utilizado várias vezes
wld.aux <- wld wld.data.aux <- attr(wld.aux, "data") wld.data.aux$index <- 1:dim(wld.data.aux)[1] wld.data.aux <- merge(wld.data.aux, wits.aggregate, by.x="ISO_3DIGIT", by.y="PartnerISO3", all=T, na.action=na.pass) wld.data.aux <- wld.data.aux[order(wld.data.aux$index), ] wld.data <- wld.data.aux[which(wld.data.aux$Year==2002),]
brks <- classIntervals(wld.data$ValueMi, n=9, style="quantile") brks <- brks$brks
attr(wld.aux, "data") <- wld.data plot(wld.aux, col=colors[findInterval(wld.aux$ValueMi, brks, all.inside=T)], axes=F, bg=NA, mai=c(0,2,2,20))
#início do wld.data:
row.names ISO_3DIGIT FIPS_CNTRY GMI_CNTRY ISO_2DIGIT CNTRY_NAME LONG_NAME SOVEREIGN POP_CNTRY CURR_TYPE CURR_CODE LANDLOCKED SQKM SQMI COLOR_MAP index PartnerName Year TradeFlowName TradeValue.in.1000.USD ValueMi 1 1 ABW AA ABW AW Aruba Aruba Netherlands 67074 Euro EUR N 200.35 77.35 1 205 Aruba 2002 Export 10102.756 10.102756 2 3 AFG AF AFG AF Afghanistan Afghanistan Afghanistan 17250390 Afghani AFA Y 642115.94 247920.95 3 45 Afghanistan 2002 Export 24.428 0.024428 3 5 AGO AO AGO AO Angola Angola Angola 11527260 New Kwanza AON N 1252160.88 483459.38 1 115 Angola 2002 Export 398796.168 398.796168 4 7 AIA AV AIA AI Anguilla Anguilla United Kingdom 9208 EC Dollar XCD N 91.57 35.36 6 189 Anguila 2002 Export 126.898 0.126898 5 10 ALB AL ALB AL Albania Albania Albania 3416945 Lek ALL N 28615.98 11048.63 6 40 Albania 2002 Export 9685.900 9.685900 6 12 AND AN AND AD Andorra Andorra Andorra 55335 Euro EUR Y 506.31 195.49 8 32 Andorra 2002 Export 18.070 0.018070 7 15 ARG AR ARG AR Argentina Argentina Argentina 33796870 Peso ARP N 2781207.00 1073824.00 8 124 Argentina 2002 Export 4681092.144 4681.092144 8 17 ARM AM ARM AM Armenia Armenia Armenia 3377228 Dram AMD Y 29636.09 11442.49 7 37 Armenia 2002 Export 4857.284 4.857284 9 19 ASM AQ ASM AS American Samoa American Samoa United States 53000 US Dollar USD N 164.37 63.46 2 226 American Samoa 2002 Export 10.700 0.010700 10 21 ATG AC ATG AG Antigua & Barbuda Antigua and Barbuda Antigua & Barbuda 65212 EC Dollar XCD N 538.66 207.98 2 193 Antigua and Barbuda 2002 Export 1796.010 1.796010
Fico à disposição para fornecer os dados (só indiquem a melhor maneira de fazê-lo!)
Abraços e muito obrigado desde já,
João Augusto Analista de Negócios Cortex-Intelligence _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
participantes (2)
-
Alexandro (Yahoo)
-
João Augusto P Batista