Как я могу зациклить свою растровую функцию пространственного распределения и накапливать результаты? - PullRequest
0 голосов
/ 11 июля 2019

У меня есть код Rstudio, который случайным образом распределяет точки по растру «поверхности вероятности», где точки с большей вероятностью попадают в ячейки с большей вероятностью.Однако, как только ячейка была выбрана, она не может быть взята снова, и мне нужно сделать примерно 280 000 точек, которые просто покрывают весь регион.

Поэтому я хочу вместо этого запустить функцию для распределения, например, 1000очки, а затем запустить его 280 раз.Перед добавлением всех прогонов вместе, чтобы получить плотность клеток.Таким образом, ячейка может иметь максимальное значение = количества прогонов, например, 280.

Я знаю, что это будет использовать некоторую форму цикла FOR, однако я не уверен точно, где разместить цикл, так какЯ очень хорошо знаком с кодированием.

Я также пытался создать 'SUM' для возможного накопления всех выходов, однако не знаю, как сохранить выходы всех прогонов, чтобы затем использоватьфункция SUM.

probsel = function(probrast,N) {
  x = getValues(probrast)
  x[is.na(x)] = 0
  samp = sample(nrow(probrast)*ncol(probrast),replace=TRUE, size=N, prob=x)
  samprast = raster(probrast)
  samprast[samp] = 1
  points<-rasterToPoints(samprast, fun=function(x){x>0}) 
  points<-SpatialPoints(points)
  return(points)
}

library(raster)
library(rasterVis)
prob = raster("ssp3_prob_clip.tif")
#This loads in the raster 'probability surface' over which the points are distributed depending on the probability of the underlying cell
plot(prob)
probrast = prob
probrast = probrast/sum(getValues(probrast), na.rm=T)
plot(probrast)

sum(getValues(probrast),na.rm=T)
samppoints = probsel(probrast, 100)
#This determines the number of sample points are added in the run. However once a cell is taken it can not be overlapped.
plot(probrast, axes=F)
plot(samppoints, add=T, pch=16, cex=0.2, col="black")

Поэтому я хочу получить конечный продукт, который имеет плотность значений во всех прогонах.Это обеспечит возможность повторной выборки ячеек, которые были отобраны в ходе каждого прогона, с сопоставленным конечным продуктом.

...