我想从以下列表中创建三个栅格。
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
}
帮助如何更改最后一段代码将非常感激。
答案 0 :(得分:1)
我们可以在“列表”中保留创建raster
,如果需要,我们可以使用setNames
lst <- setNames(lapply(valuematrix, raster), paste0('raster',1:3))
对于stack
和其他操作,可以使用
stack(lst)