2016-04-22 27 views
1

Ich möchte mehrere Plots (in r) des Auftretens von Verbrechen in einem New York City machen. Ich möchte Plots für jeden der Bezirke machen, d. H. 78. Meine Daten haben sieben verschiedene Arten von Verbrechen aufgezeichnet, und ich möchte jede Art von Verbrechen mit einer anderen Farbe identifizieren. Also würde ich für jede Handlung (die einen Bezirk darstellt) verschiedene Farben für verschiedene Verbrechen haben. Ich möchte die Daten auf einer Satellitenkarte von Google Earth darstellen. Hier ist der Code und die Fehlermeldung, die ich bekam, als ich versuchte, die Grundstücke zu machen:Mehrere Plots in ggplot2

library(ggmap) 
library(ggplot2) 

FELONY <- read.csv("http://www.nyc.gov/html/nypd/downloads/excel/crime_statistics/Felony.csv") 
felony <- FELONY[FELONY$OccurrenceYear==2015,] 
attach(felony) 
Sepfel <- felony[felony$OccurrenceMonth== "Sep",] 

for(i in unique(Sepfel$Precinct)){ 
    map <- get_map(location='New York City', zoom=11, maptype="satellite") 
    ggmap(map) + 
    geom_point(subset(Sepfel,Sepfel$Precint==i), 
       aes(color=Offense, x=Longitude, y=Latitude),size=0.00001, alpha=1) + 
    ggtitle(paste("September 2015")) 
    } 

Error: ggplot2 doesn't know how to deal with data of class uneval 

Antwort

0

Ich wählte zwei Precinct für diese Demonstration. Sie möchten eine Liste mit ggplot-Objekten erstellen, Karten zeichnen und speichern. Informationen zum Speichern von Karten finden Sie unter dem Link im Codeteil. Baptistes Antwort wird Ihnen helfen, den besten Weg für Sie zu wählen, Ihre Bilder zu speichern. Ich hoffe, dies wird dir helfen.

foo <- subset(felony, Precinct %in% c("040", "045")) 

mymap <- get_map(location = "New York City", zoom = 11, maptype = "satellite") 

mylist <- lapply(unique(foo$Precinct), function(x){ 

      g <- ggmap(mymap) + 
       geom_point(data = subset(foo, Precinct == x), 
          aes(color = Offense, x = Longitude, y = Latitude), 
          size = 0.5, alpha = 0.5) 
       labs(title = "September 2015") 

      g 
     } 
     ) 

### Credit to baptiste for this answer. 
### http://stackoverflow.com/questions/20500706/saving-multiple-ggplots-from-ls-into-one-and-seperate-files-in-r 

invisible(mapply(ggsave, file=paste0("Precinct-", unique(foo$Precinct), ".png"), plot = mylist)) 

enter image description here enter image description here

+0

Hey Jazzurro, vielen Dank! Es funktionierte. Ich bin sehr sehr sehr dankbar! – Stone

+0

@Stone Ich bin froh, das zu hören. Würden Sie die Antwort akzeptieren? – jazzurro

Verwandte Themen