我有多个点shapefile,每个包含两列:“id”列表示每个点的唯一标识符,并且这些标识符跨所有单独的shapefile是一致的,这意味着它们是跨多个文件的确切点。
我的目标是将这些shapefile合并到一个文件中。为了避免任何混淆,我想用每个shapefile的原始文件名重命名“Measurement”列。这样,我将能够准确地识别测量的来源。
Shapefile_1.shp
| id|测量|
| - -----|- -----|
| 一个|十点五|
| 2|十二点三|
| 三个|九点八|
Shapefile_2.shp
| id|测量|
| - -----|- -----|
| 一个|8.2|
| 2|十一点七|
| 三个|10.1|
期望输出
| id| Shapefile_1| Shapefile_2|
| - -----|- -----|- -----|
| 一个|十点五|8.2|
| 2|十二点三|十一点七|
| 三个|九点八|10.1|
谢谢!
2条答案
按热度按时间vsmadaxz1#
使用{dplyr},您可以执行以下操作:
创建于2023-06-24带有reprex v2.0.2
3bygqnnd2#
如果
sf
对象在一个命名列表中,我们可以只使用purrr::list_rbind()
绑定行,并在附加列中包含每个sf
对象的名称。如果确实需要宽格式,我们可以使用tidyr::pivot_wider()
来实现。首先,让我们准备一个reprex:
合并存储在
meas_shapes
中的sf
对象,同时保留shapefile名称作为附加标识:创建于2023-06-24带有reprex v2.0.2