1
我正在寻找提高速度和降低以下行的内存使用的方式比较快的方式:总结基于R中的多边形程度栅格值
export <- raster(paste0(catch_dir,'/export_streams.rst'))
catchm_polyg <- readOGR(dsn = catch_dir, layer = 'catchment')
Model_10 <- extract(export, catchm_polyg, fun = sum, na.rm = TRUE)
这给我的总和所有来自export_streams.rst的值,以catchm_polyg作为范围。
我想为不同的输入数据做很多次。因此,代码是function
的一部分,然后在foreach
循环中使用。这一切都在一定程度上正常工作。虽然代码不适用于较大的输入数据,因为我显然没有足够的内存(32GB,64位R版本)。计算时间也非常长。有关如何改进代码的任何建议?
感谢您的回答。 '提取(myrast,myploys,fun = sum,na.rm = TRUE,文件名=“myfile.rst”,overwrite = TRUE)'这给了我作为数字的总和。但是,如果我现在想要使用这个号码(例如转换为其他单位),我该如何“抓住”这个号码?因为代码显然不写一个名为“myfile.rst”的文件。我也可以写'extract(myrast,myploys,fun = sum,na.rm = TRUE,overwrite = TRUE)''。我不明白代码实际上在哪里“写入文件”。 – nowi
O对不起。你是正确的写外部不会使用extract()。我做了相应的编辑。 –