Я довольно новичок в R, и я пытаюсь сопоставить распределение видов муравьев в Аргентине, используя подразделения adm1 (или state).Создание Choropleth в R без использования градиента
Я загрузил данные с сайта GADM, и у меня есть файл csv, который я создал, который содержит информацию о том, присутствует ли данный вид или отсутствует в каждом adm1. Даже если у меня нет градиента, могу ли я сделать choropleth? Если нет, какие другие типы карт я мог бы использовать?
Я посмотрел на нескольких сайтах, включая Infomaps using R, How to make choropleths in R и Choropleth Карта Вызова, которые были очень полезны, но все они имеют числовые данные, и я использую подарок (1) или нет (0) столбец. Различные пакеты, которые я пробовал, - sp
(с RColorBrewer
), ggplot2
, rgeos
и maptools
.
Вот код, который я до сих пор:
library(sp)
library(RColorBrewer)
write.csv(atr, "atr_data.csv")
atr_data<-read.csv("atr_data.csv", header=TRUE)
spcode country_code adm1_code newcol
1 atr VEN VE.AR 0
2 atr PRY PY.CE 0
3 atr PAN PA.CL 0
4 atr PAN PA.CL 0
5 atr PAN PA.PN 0
6 atr PAN PA.PN 0
Я нахожусь в процессе создания колонки с полными именами adm1 вместо кодов, так что он будет совпадать с файлом GADM (поэтому я еще не написал код для объединения данных).
#to retrieve map for Argentina ARG
con <- url("http://gadm.org/data/rda/ARG_adm1.RData")
print(load(con))
close(con)
#to generate random colors on map
col = rainbow(length(levels(gadm$NAME_1)))
spplot(gadm, "NAME_1", col.regions=col, main="ARG Regions", colorkey = FALSE, lwd=.4,col="white")
#this piece of code is a mess
col_no <- as.factor(as.numeric(atr_data$newcol[order],
c(0,1)))
levels(col_no)<- c("0", "1")
gadm$col_no <- col_no
myPalette<-brewer.pal(3, "Purples")
spplot(gadm, "col_no", col=grey(.9),
col.regions=myPalette,
main="Distribution of Atratus in Argentina")
Любая помощь будет принята с благодарностью, спасибо!