alle, sorry für stören, aber ich bin ziemlich neu mit r konfrontiert eine entscheidende difficuty: Ich möchte eine animierte Karte von Russin mit Veränderungen in der Arbeitslosigkeit mit verschiedenen Jahren, wie erstellen. Zunächst lese ich hier einige Themen, darunter Creating a Movie from a Series of Plots in R, obwohl ich es immer noch nicht richtig machen kann. Was ich als Ergebnis haben möchte, ist eine animierte Karte wie here, aber mit Arbeitslosigkeit, wie ich es für ein Jahr gemacht habe! Hier ist der Code:animierte gadm map in R
require(sp)
require(maptools)
require(RColorBrewer)
require(rgdal)
rus<-url("http://www.filefactory.com/file/4h1hb5c1cw7r/n/RUS_adm1_RData")
print(load(rus))
unempl1 <- read.delim2(file="C:\\unempl11.txt", header = TRUE,
sep = ";",quote = "", dec=",", stringsAsFactors=F)
unempl2<- read.delim2(file="C:\\unempl12.txt", header = TRUE,
sep = ";",quote = "", dec=",", stringsAsFactors=F)
gadm_names <-gadm.prj$NAME_1
total <- length(gadm_names)
pb <- txtProgressBar(min = 0, max = total, style = 3)
order <- vector()
for (i in 1:total){
order[i] <- agrep(gadm_names[i], unempl1$region,
max.distance = 0.2)[1]
setTxtProgressBar(pb, i) # update progress bar
}
for (l in 1:total){
order[l] <- agrep(gadm_names[l], unempl2$region,
max.distance = 0.2)[1]
setTxtProgressBar(pb, i) # update progress bar
}
col_no_1 <- as.factor(as.numeric(cut(unempl1$data[order],
c(0,2.5,5,7.5,10,15,100))))
col_no_2<- as.factor(as.numeric(cut(unempl2$data[order],
c(0,2.5,5,7.5,10,15,100))))
levels(col_no_1) <- c("<2,5%", "2,5-5%", "5-7,5%",
"7,5-10%", "10-15%", ">15%")
gadm.prj$col_no_1 <- col_no_1
myPalette1<-brewer.pal(6,"Purples")
levels(col_no_2) <- c("<2,5%", "2,5-5%", "5-7,5%",
"7,5-10%", "10-15%", ">15%")
gadm.prj$col_no_2 <- col_no_2
myPalette2<-brewer.pal(6,"Purples")
proj4.str <- CRS("+init=epsg:3413 +lon_0=105")
gadm.prj <- spTransform(gadm, proj4.str)
spplot(gadm.prj, "col_no", col=grey(.9), col.regions=myPalette,
main="Unemployment in Russia by region")
Es tut uns so ist, nicht zu verstehen, aber ich brauche wirklich eine Hilfe. Vielen Dank im Voraus!
Here is data to be able to reproduce the code
New Code, die ich folgenden Rat versucht, mit
library(sp)
library(rgdal)
library(spacetime)
library(animation)
rus <- url("http://www.filefactory.com/file/4h1hb5c1cw7r/n/RUS_adm1_RData")
load(rus)
proj4.str <- CRS("+init=epsg:3413 +lon_0=105")
gadm.prj <- spTransform(gadm, proj4.str)
N <- nrow(gadm.prj)
pols <- geometry(gadm.prj)
nms<-gadm$NAME_1
vals1 <- read.csv2("C:\\unempl11.txt")
ord1 <- match(nms, vals1$region)
vals1 <- vals1[ord1,]
vals2 <- read.csv2("C:\\unempl12.txt")
ord2 <- match(nms, vals2$region)
vals2 <- vals2[ord2,]
nDays <- 2
tt <- seq(as.Date('2011-01-01'), by='year', length=nDays)
vals <- data.frame(rbind(vals1, vals2))
gadmST <- STFDF(pols, time=tt, data=vals)
stplot(gadmST, animate=1, do.repeat=FALSE)
Vielen Dank für Ihre Antwort, aber ich frage mich, wie kann ich hier mehrere, ziemlich unabhängige Gadm Plots, Schleife? Ich fügte die oben genannten Daten zu Eilen Reproduktion hinzu –
@RuvinRafailov stplot macht die Schleife für Sie. Ich habe den Code bearbeitet, um zu zeigen, wie man die Bilder und eine Filmdatei erzeugt. –
Entschuldigung, für meine blöden Fragen, aber das ist das erste Mal, dass ich mit R arbeite, geschweige denn Geodaten, aber was ich nicht verstehen kann ist, wie ich meine Arbeitslosenzahlen in deinen Code einfüge.Ich habe die Hauptfrage bearbeitet, die zeigt, wie ich Daten für 2 Jahre benutzt habe, habe aber keine Ahnung, wie ich sie mit deiner Methode animiere. –