更改对象列表中元素的快速方法(R)
我有一个SpatialPolygonsDataFrame对象,我想更改每个单独的多边形ID以匹配data.frame组件中的一列。我可以用for循环或lappy来完成,但是每30个列表项大约需要一分钟,总共有5500个 这是我试过的 一,。使用lappy:更改对象列表中元素的快速方法(R),r,list,polygons,lapply,R,List,Polygons,Lapply,我有一个SpatialPolygonsDataFrame对象,我想更改每个单独的多边形ID以匹配data.frame组件中的一列。我可以用for循环或lappy来完成,但是每30个列表项大约需要一分钟,总共有5500个 这是我试过的 一,。使用lappy: changeID <- function(i) { tor@polygons[[i]]@ID = as.character(tor$id[i]) return(0) } lapply(seq_along(tor@polygons),
changeID <- function(i) {
tor@polygons[[i]]@ID = as.character(tor$id[i])
return(0)
}
lapply(seq_along(tor@polygons), changeID)
有什么更有效的解决方案吗?spChFIDs方法/工具有帮助吗?(它有自己的帮助页面)。我有与@CarlWitthoft相同的一般建议,但通常ID应该匹配相关data.frame的行名称,对吗?
for(i in 1:5597) {
tor@polygons[[i]]@ID = as.character(tor$id[i])
}