【发布时间】:2014-01-09 10:39:58
【问题描述】:
我正在尝试调整 for 循环以将其作为 foreach 循环并行使用。对于 for 循环,我创建一个空矩阵,然后用 for 循环生成的值填充它。但是这种方法在foreach循环中是行不通的,
results<-matrix(nrow=length(classes),ncol=length(files))
dimnames(results)[[1]]<-classes
dimnames(results)[[2]]<-files
ptime<-system.time({
foreach(z = 1:length(files),.packages="raster") %dopar% {
raster <- raster(paste(folder,files[z],sep=""))
data<-getValues(raster)
clp <- na.omit(data)
for(i in 1:length(classes)){
results[i,z]<-length(clp[clp==classes[i]])/length(clp)
print(z)
}
}
})
我的结果矩阵仍然只是填充了 na,它没有被填充。
z 是光栅文件,i 是数值类的向量。我想要每个类 i 的栅格 z 中的像元数,然后将其除以栅格 z 中的像元总数以获得比例。
关于如何在 foreach 循环中将其保存为矩阵/数据框的任何建议?
提前谢谢你。
【问题讨论】: