我有一个大数据框(83.2万行),具有经网格格式的纬度和经度以及一个变量。我想绘制每个县这个变量的平均值。问题是我没有按点识别县或州的信息,只有坐标。
抱歉,我不确定如何添加可复制的示例
答案 0 :(得分:1)
两种方法:
1)计算所有纬度/经度网格的平均值。这种方法会使您的县中心偏向更高密度的网格
2)计算网格的边界[min-max lat / lon]并平均边界。这种方法将县中心放置在网格跨度的中心。
答案 1 :(得分:0)
您将需要获取县(或州)数据,然后在空间上将其与数据框合并。此类数据的一种可能来源是美国人口普查发布的TIGER形状文件(例如,参见https://catalog.data.gov/dataset/tiger-line-shapefile-2016-nation-u-s-current-county-and-equivalent-national-shapefile)。
然后您可以使用sf
包将shapefile读取到R中,将其与数据连接起来,然后使用常规的汇总功能按县汇总数据。
library(sf)
filename <- 'https://www2.census.gov/geo/tiger/TIGER2016/COUNTY/tl_2016_us_county.zip'
tmpfile <- tempfile()
tmpdir <- tempdir()
download.file(filename,tmpfile)
unzip(zipfile = tmpfile, exdir = tmpdir)
county_data <- st_read(paste0(tmpdir, '/tl_2016_us_county.shp'))
unlink(tmpfile)
unlink(tmpdir)