Я думаю, что вы хотите
x <- foreach(i= 1:4, .packages="raster", .combine=stack) %dopar% {
rasterize(u[,c("Lon","Lat")], r, dlist[[i]], fun=mean)
}
Простой пример
library(raster)
library(foreach)
r <- raster(nrow=10, ncol=10, vals=1)
x <- foreach(i= 1:4, .packages="raster", .combine=stack) %do% { r + i }
s <- stack(x)
s
#class : RasterStack
#dimensions : 10, 10, 100, 4 (nrow, ncol, ncell, nlayers)
#resolution : 36, 18 (x, y)
#extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
#coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
#names : layer.1, layer.2, layer.3, layer.4
#min values : 2, 3, 4, 5
#max values : 2, 3, 4, 5
Или в один шаг
x <- foreach(i= 1:4, .packages="raster", .combine=stack) %do% { r + i }
Но я думаю, что самый простой и эффективный подходможет быть растеризация всех переменных за один шаг
d <- as.matrix(as.data.frame(dlist))
s <- rasterize(u[,c("Lon","Lat")], r, d, fun=mean)