map ("usa") per impostazione predefinita visualizza una mappa senza Alaska e Hawaii. mappa ("mondo") ha Antartica di default. C'è un modo per dire "include alaska", "exclude antartica" ecc.?Come specificare i paesi/regione durante la creazione di mappe in R?
risposta
risposta rapida:
nams <- map("world", namesonly=TRUE, plot=FALSE)
map("world", region=nams[-grep("Antarctica", nams)])
Longer risposta:
I dati mappe in "mondo" fa riferimento a nomi delle regioni e questi sono generalmente i dati di carattere in "continente: paese" o "continente: subregione " formato. Per ottenere quei nomi che si trovano in un database esterno, è necessario prima usare le mappe ("mondo", ...) con parametri che restituiscono solo i nomi e non tutte le altre coordinate. Se si desidera trovare tutte le voci contenenti "Antartide", è necessario utilizzare grep() per identificare la propria posizione nel vettore dei nomi restituiti.
Se si cerca solo per quelle aree, la soluzione brutale sarebbe quella di utilizzare la mappa del mondo, specificare Stati Uniti come un region
e definire la latitudine/longitudine per creare limiti, quindi la mappa visualizza solo settore specifico:
library(maps)
long <- c(-180,-50)
lat <- c(10,80)
map("world",regions=".*usa",xlim=long,ylim=lat)
che ha funzionato, grazie. Vorrei che ci fosse un buon libro, per i principianti di R. Il software è fantastico, ma la sintassi non è amichevole :( –
Non posso affermare di averlo saputo in anticipo.Vi è molto da guadagnare eseguendo gli esempi nelle pagine di aiuto. nel file di aiuto e fare un po 'di sperimentazione per arrivarci, in particolare sembrava che fosse necessario includere plot = FALSE era necessario per ottenere l'output come vettore di carattere, ma si è scoperto che quei valori venivano restituiti ma solo in modo invisibile, quindi digitando 'map (" world ", namesonly = TRUE)' non restituiva nulla sulla console ma sarebbe riuscito con 'nams2 <- map (" world ", namesonly = TRUE)'. –
Questo mi genera un errore: 'l'espressione regolare è troppo grande ' –