Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改对象列表中元素的快速方法(R)_R_List_Polygons_Lapply - Fatal编程技术网

更改对象列表中元素的快速方法(R)

更改对象列表中元素的快速方法(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),

我有一个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)

有什么更有效的解决方案吗?

spChFIDs方法/工具有帮助吗?(它有自己的帮助页面)。我有与@CarlWitthoft相同的一般建议,但通常ID应该匹配相关data.frame的行名称,对吗?
for(i in 1:5597) {
tor@polygons[[i]]@ID = as.character(tor$id[i])
}