从矩阵列表创建栅格

Creating rasters from a list of matrices

我想从以下列表中创建三个光栅。

y <- matrix(1:300,100,3)
n <- c(1,2,3)
rep = 200

valuematrix <- vector("list",ncol(y))

for (i in 1:ncol(y)) {
        newmatrix <- replicate(rep,y[,i])
        valuematrix[[i]] <- newmatrix
}

现在我有一个包含 3 个矩阵的列表,我想创建三个名为 raster1、raster2、raster3 的栅格(不过我没有做对)

library(sp)
library(raster)    
for (i in 1:length(valuematrix)) {
            newraster <- raster(valuematrix[[i]])
            valum[[paste0("matrix", i)]] <- newraster
    }

帮助如何更改最后一段代码将不胜感激。

我们可以在 'list' 中继续创建 raster,如果需要,我们可以将列表元素命名为 setNames

 lst <- setNames(lapply(valuematrix, raster), paste0('raster',1:3))

对于stacking等操作,可以用这个

 stack(lst)