如何从数据框中提取基于 shapefile 的信息?

How to extract information based on shapefile from dataframe?

我有一个数据框

lon lat year        U       CP     PS     FR     NT
1:  87  46 1650     0        0   0.198      0   0.802
2:  87  46 1651     0        0   0.197      0   0.803
3:  87  46 1652     0        0   0.195      0   0.805
4:  87  46 1653     0        0   0.193      0   0.807
5:  87  46 1654     0        0   0.192      0   0.808
6:  87  46 1655     0        0   0.190      0   0.810

我有涵盖全球经度和纬度的数据框。我想根据我的形状文件提取信息。我不知道如何制作一个可重现的显示全局数据的栅格示例。但是我已经制作了片段显示经度和纬度。

这是制作全局栅格的方法

library(raster)
r <- raster()
values(r) <- 1:ncell(r)

然后您可以像这样提取点位置的值

lonlat <- cbind(c(87, 86), c(46, 47))
extract(r, lonlat)
[1] 16108 15747