Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
地图坐标到R中的位置_R_Maps_Rgooglemaps - Fatal编程技术网

地图坐标到R中的位置

地图坐标到R中的位置,r,maps,rgooglemaps,R,Maps,Rgooglemaps,我正在使用埃博拉数据集,数据集中没有给出位置坐标。我想手动将经度和纬度分配给位置,以便我可以将位置绘制到谷歌地图上。我想在R中实现这一点。任何想法,我一直在尝试,但对我来说都不适用: if(ebola$Country == 'Guinea' & ebola$Location == 'Conakry') { conakry <- c(9.5092,13.7122) } if(埃博拉$Country=='几内亚',埃博拉$Location=='科纳克里') { 科纳克里#数据集示例

我正在使用埃博拉数据集,数据集中没有给出位置坐标。我想手动将经度和纬度分配给位置,以便我可以将位置绘制到谷歌地图上。我想在R中实现这一点。任何想法,我一直在尝试,但对我来说都不适用:

if(ebola$Country == 'Guinea' & ebola$Location == 'Conakry')
{
conakry <- c(9.5092,13.7122)
}
if(埃博拉$Country=='几内亚',埃博拉$Location=='科纳克里')
{
科纳克里
#数据集示例

df您能提供一个可复制的示例吗?请看这里,最好使用另一个数据框,其中包含
国家
位置
纬度
经纬度
,然后
合并
dplyr::左联合
与级联if/else在循环中/应用。
#Dataset example
df <- read.table(text = "Col1   Col2   Location  
1      2      Conkary
3      1      Monrovia
2      2      Freetown
1      3      Greenville", 
                 header = TRUE, stringsAsFactors = FALSE)

#Create a Dataframe with geographic information
Geo <- read.table(text = "Country   Location   LON LAT  
Guinea      Conkary   9.5092    -13.7122    
Liberia     Monrovia  6.3000    -10.7659       
    ", 
                 header = TRUE, stringsAsFactors = FALSE)
library(plyr)
df_Geo <- join(df, Geo, by = "Location", type= "left")

df_Geo2 <- join(df, Geo, by = "Location", type="right")

#Create a SpatialPoints Object
library(sp)
Coords <- cbind(as.numeric(df_Geo2$LON),as.numeric(df_Geo2$LAT)) 
row.names(Coords) <- 1:nrow(Coords) 
#Choosing the projection, should be good for google maps
LLCRS <- CRS("+proj=longlat +ellps=WGS84")
Coords_sp <- SpatialPoints(Coords, proj4string = LLCRS)

#Create a SpatialPointsDataFrame
Ebola.sp <- SpatialPointsDataFrame(Coords_sp, df_Geo2, proj4string = LLCRS, match.ID = TRUE)

#Plot on GoogleMaps
library(plotGoogleMaps)
map <- plotGoogleMaps(Ebola.sp, filename='MapEbola.html')
#Coordinates are inexact due to bad projection.