2017-05-08 19 views
0

我有如下兩個數據幀:可視化的問題,而使用單張

PickUP <- data.frame(pickuplong = c(-73.93909 ,-73.94189 ,-73.93754,-73.91638,-73.92792 ,-73.88634), pickuplat =c(40.84408,40.83841,40.85311,40.84966,40.86284,40.85628)) 

Dropoff <- data.frame(pickuplong = c(-73.93351 ,-73.93909 ,-73.93909 ,-73.80747,-73.95722,-73.91880), pickuplat =c(40.76621,40.84408,40.85311,40.69951,40.68877,40.75917), Droplong =c(-73.91300,-73.96259 ,-73.94870,-73.93860,-73.93633, -73.90690), Droplat =c(40.77777,40.77488 ,40.78493,40.84463,40.75977,40.77013)) 

我試圖找到這些重複送貨數據幀拾取數據幀搓配位(經度和緯度) 。我有下面的代碼,但我得到了這個錯誤:

library(sp) 
library(rgdal) 
library(leaflet) 
library(mapview) 
library(dplyr) 
a <- semi_join(Dropoff , PickUP , by = c("pickuplong","pickuplat")) 
a$ID <- 1:nrow(a) 
Dropoff_p <- a[, c("ID", "Pickup_longitude", "Pickup_latitude")] 
Dropoff_d <- a[, c("ID", "Dropoff_longitude", "Dropoff_latitude")] 
coordinates(Dropoff_p) <- ~Pickup_longitude + Pickup_latitude 
coordinates(Dropoff_d) <- ~Dropoff_longitude + Dropoff_latitude 
proj4string(Dropoff_p) <- CRS("+init=epsg:4326") 
proj4string(Dropoff_d) <- CRS("+init=epsg:4326") 
map_p <- mapview(Dropoff_p, color = "red") 
map_d <- mapview(Dropoff_d, color = "blue") 
map_p + map_d 

我的錯誤是:

錯誤在$ < -.data.frame(TMP, 「ID」,值= C(1L,0L)): 更換有兩行,數據綜合報導過程中具有0錯誤:無法打開 連接

回答

0

當子集劃分的數據幀,則必須使用相同的列名。我更改了Dropoff_p,Dropoff_d,coordinates(Dropoff_p)proj4string(Dropoff_d)中的列名,然後您的腳本正常工作。

此外,mapview包只是一個新的更新。如果你願意,你可以更新你的mapview到版本2.0.1。您還可以添加col.regions = "red"col.regions = "blue",因爲它好像在新版本中color參數將只會更改點的輪廓。要更改填充顏色,請使用col.regions

library(sp) 
library(rgdal) 
library(leaflet) 
library(mapview) 
library(dplyr) 

a <- semi_join(Dropoff , PickUP , by = c("pickuplong","pickuplat")) 
a$ID <- 1:nrow(a) 
Dropoff_p <- a[, c("ID", "pickuplong", "pickuplat")] 
Dropoff_d <- a[, c("ID", "Droplong", "Droplat")] 
coordinates(Dropoff_p) <- ~pickuplong + pickuplat 
coordinates(Dropoff_d) <- ~Droplong + Droplat 
proj4string(Dropoff_p) <- CRS("+init=epsg:4326") 
proj4string(Dropoff_d) <- CRS("+init=epsg:4326") 
map_p <- mapview(Dropoff_p, color = "red", col.regions = "red") 
map_d <- mapview(Dropoff_d, color = "blue", col.regions = "blue") 
map_p + map_d 
+0

我在第二行有錯誤的一個$ ID < - 1:nrow(一) – Behzad

+0

你知道我怎麼可以改變地圖,其他形狀像長方形的圓圈圖標。謝謝 – Behzad

+0

@Behzad我不知道是否有一種簡單的方法將符號從圓形更改爲矩形。有關更多信息,請參閱'mapview'的文檔https://environmentalinformatics-marburg.github.io/mapview/introduction.html或'leaflet'。順便說一下,如果我的解決方案至少可以解決您的原始問題。請接受它們作爲答案。 – www