2015-04-20 5 views
5

Ich bin neu zu r und habe seit Stunden versucht, Punkte einer Familie von Schmetterlingen auf einer Karte von Arizona zu plotten. Ich könnte total falsch machen oder habe etwas fehlt ich bin nicht sicher und jede Hilfe würde sehr geschätzt werden!Novize Plotten Koordinaten auf Karte in R mit CSV-Datei

Ich habe folgende Codes jetzt und haben viele andere versucht:

rio = read.csv("Rioninidae_Cleaned.csv",stringsAsFactors = FALSE) 
arizona <- get_googlemap(center=c(lon=-110.713,lat=31.815), zoom = 3) 
lon <-data.frame(rio$latitude) 
lat <-data.frame(rio$longitude) 
df <- as.data.frame(cbind(lon,lat)) 
df 
arizona <- get_googlemap(center = c(lon = -110.713,lat = 31.815), zoom = 3) 
ggmap(arizona) + 
    geom_point(data = df, aes(x = lon, y = lat), size = 5, shape = 21) + 
    guides(fill = FALSE, alpha = FALSE, size = FALSE) 

meine CSV-Datei zu finden ist: https://www.dropbox.com/s/yxj1uvmt9bw8gvn/Rioninidae_Cleaned.csv?dl=0

 genus province   county latitude longitude 
1 Apodemia Arizona   Apache 33.90011 -109.5844 
2 Apodemia Arizona Cochise County 31.46260 -110.2895 
3 Apodemia Arizona Cochise County 31.46260 -110.2895 
4 Apodemia Arizona Santa Cruz 31.50503 -110.6547 
5  Emesis Arizona  Santa Cruz 31.74001 -110.9411 
6  Emesis Arizona  Santa Cruz 31.74001 -110.9411 
7  Emesis Arizona  Santa Cruz 31.38333 -111.0833 
8 Apodemia Arizona  Santa Cruz 31.38333 -111.0833 
9 Calephelis Arizona   Pima 31.76667 -111.5500 

Vielen Dank!

Antwort

7

Ich denke, dass Sie wahrscheinlich nach etwas ähnlichem suchen.

library(ggmap) 
library(ggplot2) 

# Get a map 
arizona <- get_map(location = c(lon = -110.713, lat = 31.815), zoom = 6) 

ggmap(arizona) + 
geom_point(data = mydf, aes(x = longitude, y = latitude, fill = genus), size = 3, shape = 21) 

enter image description here

DATA

mydf <- structure(list(genus = structure(c(1L, 1L, 1L, 1L, 3L, 3L, 3L, 
1L, 2L), .Label = c("Apodemia", "Calephelis", "Emesis"), class = "factor"), 
province = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L 
), .Label = "Arizona", class = "factor"), county = structure(c(1L, 
2L, 2L, 5L, 4L, 4L, 4L, 4L, 3L), .Label = c("Apache", "Cochise County", 
"Pima", "Santa Cruz", "Santa Cruz "), class = "factor"), 
latitude = c(33.9001056, 31.4625978, 31.4625978, 31.5050272, 
31.7400056, 31.7400056, 31.38333333, 31.38333333, 31.76666667 
), longitude = c(-109.58444, -110.2895241, -110.2895241, 
-110.65472, -110.94111, -110.94111, -111.0833333, -111.0833333, 
-111.55)), .Names = c("genus", "province", "county", "latitude", 
"longitude"), class = "data.frame", row.names = c(NA, -9L)) 
+0

Ja, das ist es genau! Vielen Dank, ich hätte diesen Strukturbefehl niemals verstanden! – poolshark

+0

@poolshark Vergnügen. Freut mich zu hören, dass Sie danach suchen. :) – jazzurro

+0

Danke! Ich frage mich, was ich tun würde, wenn ich über 100 Koordinaten für eine Familie hätte? Wie würde ich die Struktur ändern? – poolshark