我有一个 SpatialPolygonsDataFrame 对象,我想更改每个单独的多边形 ID 以匹配 data.frame 组件中的列。我可以使用 for 循环或 lapply 完成此操作,但每 30 个列表项大约需要一分钟,总共有 5500 个。
这是我尝试过的
1. 使用 lapply:
changeID <- function(i) {
tor@polygons[[i]]@ID = as.character(tor$id[i])
return(0)
}
lapply(seq_along(tor@polygons), changeID)
2. 使用 for 循环:
for(i in 1:5597) {
tor@polygons[[i]]@ID = as.character(tor$id[i])
}
对于更有效的解决方案有什么想法吗?