pracowałem na mapie ciepła Niemiec użyciu spplot miałem z GADM German shape file wypoziomowania shapefile 1mapa cieplna Niemczech użyciu spplot
http://biogeo.ucdavis.edu/data/gadm2.8/rds/DEU_adm1.rds
jestem w stanie zrobić mapę cieplną ale przypuszczam mapy są źle naszkicowane, jak na przykład w moich danych "Bremen" ma wartość 0, ale "Sachsen-Anhalt " jest wykreślane jako białe z wartościami 0, czy jest to coś z mapowaniem w pliku .rds?
Oto mój kod
library(sp)
library(latticeExtra)
### load the German federal state polygons
my.data <- readRDS("DEU_adm1.rds")
sample <- read.csv(file.choose())
final <- merge(x [email protected], y = sample, by = "ID_1", all.y = TRUE)
[email protected] <- data.frame([email protected], sample[match([email protected][,"ID_1"], sample[,"ID_1"]),])
### German language hick-ups need to be resolved
enamessp <- gsub("?", "ue", [email protected]$NAME_1)
[email protected]$NAME_1 <- enamessp
### insert the newly created clicksvariable into the spatial data frame
my.data$clicks <- sample$clicks
clrs <- c('#F4F1A2',
'#F4F1A2',
'#E6EAA2',
'#E6EAA2',
'#CFE3A2',
'#CFE3A2',
'#9AD0A3',
'#9AD0A3',
'#7FC9A4',
'#7FC9A4',
'#32B9A3',
'#32B9A3',
'#00A7A2',
'#00667E',
'#00667E',
'#1D4F73'
)
spplot(my.data, zcol = "clicks", main = "Region Distribution",
col.regions = clrs,at=sort(sample$clicks))
Oto dput dla próbki:
structure(list(ID_1 = c(7L, 4L, 5L, 14L, 12L, 15L, 11L, 13L,
2L, 3L, 16L, 6L, 10L, 9L, 8L, 1L), clicks = c(19L, 4L, 0L, 12L,
4L, 3L, 8L, 5L, 41L, 12L, 4L, 11L, 59L, 19L, 4L, 25L)), .Names = c("ID_1",
"clicks"), class = "data.frame", row.names = c(NA, -16L))
wyjściowe wygląda następująco:
Niestety, ale ja naprawdę zastanawiałem się, czy "niemiecki map ciepła" była czymś inny niż normalna mapa ciepła :). –
Nie chodzi tylko o to, że mam problemy z błędnie wykreślonymi regionami, czy to plik kształtu? Czy możesz tu pomóc? – PSraj
Spojrzałem na to, ale skąd mam "DEU_adm1.rds"? –