我处理一些形状文件和栅格。
当我逐行(或部分)执行我的脚本时,一切都按预期运行。但是,如果我将它作为一个整体执行(源代码或 STRG+A 然后 STRG+ENTER),它会在以下部分引发错误:
# ... some code
list = list()
list = foreach(i = seq(from = 9, to = 80, by = 5)) %dopar% {
df[which(df@data$column.name > i), ]
}
# ... some code
Run Code Online (Sandbox Code Playgroud)
错误信息: Error in { : task 2 failed - "Object of type 'S4' is not subsettable"
fishnet
SpatialPolygonsDataFrame在哪里。代码子集我的 SpPolDaFr 所以我在列表中写了 15 个子集 SpPolDaFr。
我在想也许是foreach
原因。但是,我有其他foreach
先验调用,它们运行良好。我进行doParallel
循环是因为我的 SpPolDaFr 大小为 11 GB 以加快速度。
当工作人员尚未加载定义其中一个变量的类的包时,您通常会收到此类错误。如果“df”的类是“sp”包定义的“SpatialPolygonsDataFrame”,那么您应该使用foreach.packages="sp"
选项,以便工作人员能够正确操作“df”。