当收到 left_join 和合并的错误时,如何将数据帧与空间数据帧组合?
How do I combine a dataframe with a spatial dataframe when receiving errors with both left_join and merge?
我正在尝试将包含医院就诊数据 ("Hospital_Visits_df") 的数据框与包含 ZIP/ZCTA 多边形和坐标的 shapefile/spatial* 数据框合并 ("shp",已下载来自 Census Bureau)。
两个数据框都包含一个匹配列,分别为 ZCTA
和 GEOID10
,尽管 shp
包含整个美国的多边形,我将缩减为相关州稍后。
我曾尝试同时使用 merge()
和 left_join()
,但两者都会导致各自的错误。
shp_hospital_zip1 <- merge(shp, Hospital_Visits_df, by.x = "GEOID10", by.y = "ZCTA")
Error in .local(x, y, ...) : non-unique matches detected
但是两列中都没有重复项。
shp_hospital_zip2 <- shp@data %>%
left_join(Hospital_Visits_df, by = c("GEOID10" = "ZCTA"))
这似乎有效,但当我转到 summary(shp_hospital_zip2)
时它不再将其指定为空间数据框。
我希望将我的医院就诊数据与空间数据合并,以便我可以用传单绘制它,但我在第一步就被绊倒了。
感谢您能给我的任何帮助。非常感谢!!
我认为您需要直接在 sf-object 上使用 left_join()
,而不是在 sf-object.
的 @data 部分
library(sf)
class(shp)
[1] "sf" "data.frame"
class(Hospital_Visits_df)
[1] "data.frame"
result <- shp %>%
left_join(Hospital_Visits_df)
library(rgdal)
mydf <- read.csv("myCsv.csv")
myspdf <- readOGR("myShapefile.shp")
mynewspdf <- merge(myspdf, mydf, duplicateGeoms = T)
我正在尝试将包含医院就诊数据 ("Hospital_Visits_df") 的数据框与包含 ZIP/ZCTA 多边形和坐标的 shapefile/spatial* 数据框合并 ("shp",已下载来自 Census Bureau)。
两个数据框都包含一个匹配列,分别为 ZCTA
和 GEOID10
,尽管 shp
包含整个美国的多边形,我将缩减为相关州稍后。
我曾尝试同时使用 merge()
和 left_join()
,但两者都会导致各自的错误。
shp_hospital_zip1 <- merge(shp, Hospital_Visits_df, by.x = "GEOID10", by.y = "ZCTA")
Error in .local(x, y, ...) : non-unique matches detected
但是两列中都没有重复项。
shp_hospital_zip2 <- shp@data %>%
left_join(Hospital_Visits_df, by = c("GEOID10" = "ZCTA"))
这似乎有效,但当我转到 summary(shp_hospital_zip2)
时它不再将其指定为空间数据框。
我希望将我的医院就诊数据与空间数据合并,以便我可以用传单绘制它,但我在第一步就被绊倒了。
感谢您能给我的任何帮助。非常感谢!!
我认为您需要直接在 sf-object 上使用 left_join()
,而不是在 sf-object.
library(sf)
class(shp)
[1] "sf" "data.frame"
class(Hospital_Visits_df)
[1] "data.frame"
result <- shp %>%
left_join(Hospital_Visits_df)
library(rgdal)
mydf <- read.csv("myCsv.csv")
myspdf <- readOGR("myShapefile.shp")
mynewspdf <- merge(myspdf, mydf, duplicateGeoms = T)