我在rstudio中运行以下代码,根据我的物种shapefile提取气候数据并保存在csv文件中。整个过程在我的桌面rstudio中耗费了4天,但是在Jupyter树上的服务器rstudio中花了我2天。我在Jupyter上做了3次成功的运行/提取(也使用终端并发运行)。但是现在我所有的代码都以杀死结束(附上截图)(有时它会在早期阶段被杀死(当它提取 Astacus astacus 时,这个物种在3大洲都有大的分布区域) )有时在后期(当它提取 Orconectes immunis 时,这个物种在3大洲有大的分布区域)),尽管相同的代码在我的电脑rstudio中运行良好。有谁知道问题出在哪里?这是我的服务器rstudio或Jupyter或我的代码的问题吗?
注意:我的电脑有16 gb内存,rstudio服务器/ juypyter每个用户有32 gb内存。
代码在这里:
#load required packages
require(sp)
require(rgdal)
require(raster)
require(lsr)
require(rgeos)
require(maptools)
# For Bioclim - Need to project species polygons
projection <- CRS ("+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs")
polygons <- readShapePoly("AllP.shp", proj4string = projection)
polygons$BINOMIAL <- as.character(polygons$BINOMIAL)
names=c(polygons$BINOMIAL)
stats_out<- data.frame(matrix(NA, ncol = 4, nrow = 579))
colnames(stats_out)<-c("BINOMIAL", "AAD", "mean", "obs")
stats_out[,1]<-names
### need to understand all loops below
for (i in 1:579) {
poly<-polygons[i,]
print(poly$BINOMIAL)
data_out<-data.frame(matrix(NA, ncol = 1))
colnames(data_out)<-c("MinTemp2050rcp85_MIROC_ESM") # monthly average minimum temp of BCC-CSM1-1 at rcp85
for (j in 1:12) {
filename<-c(paste("mr85tn50",j,".tif", sep="")) # downloaded from "http://biogeo.ucdavis.edu/data/climate/cmip5/30s/mr85tn50.zip"
##print(filename)
grid<-stack(filename)
##plot(grid)
##plot(poly, add=TRUE)
data<-extract(grid, poly)
data1<-as.data.frame(data)
colnames(data1)<-c("MinTemp2050rcp85_MIROC_ESM")
data_out= rbind(data_out,data1)
}
M<-mean(data_out$MinTemp2050rcp85_MIROC_ESM, na.rm=TRUE)
AAD<-aad(data_out$MinTemp2050rcp85_MIROC_ESM, na.rm=TRUE)
stats_out$AAD[i]<-AAD
stats_out$mean[i]<-M
stats_out$obs[i]<-nrow(data_out)
}
print(stats_out)
write.csv(stats_out, "MinTemp2050rcp85_MIROC_ESM_AAD.csv")