2016-04-22 16 views
1

ニューヨーク市で犯罪発生の複数のプロット(r)を作成したいと思います。私は78の各区域についてプロットを作成したいと思います。私のデータは7種類の犯罪を記録しており、それぞれの種類の犯罪を異なる色で識別したいと考えています。だから、各区画(プレシンクトを表す)ごとに、私は違う犯罪に対して色が違うでしょう。 Google Earthからの衛星地図上にデータをプロットしたい。ここでは、コードと私はプロットを作ってみましたときに私が受け取ったエラーメッセージは次のとおりです。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 

答えて

0

私はこのデモのための2つのPrecinctを選びました。 ggplotオブジェクトを使ってリストを作成し、マップを描画して保存したいとします。マップを保存するオプションについては、コード部分のリンクを参照してください。バプティストの答えはあなたのイメージを保存するための最良の方法を選択するのに役立ちます。これがあなたに役立つことを願っています。

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

ねえJazzurro、どうもありがとうございました!出来た。私は非常に非常に非常に感謝しています! – Stone

+0

@Stone私はそれを聞いてうれしいです。答えを受け入れることを検討しますか? – jazzurro

関連する問題