【发布时间】:2015-07-06 18:50:53
【问题描述】:
我想从以下列表中创建三个栅格。
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
}
帮助如何更改最后一段代码将不胜感激。
【问题讨论】:
-
您可以将其保存在列表中
setNames(lapply(valuematrix, function(x) raster(x)), paste0('raster',1:3)),而不是在全局环境中使用不同的对象 -
非常感谢。效果很好。
标签: r loops for-loop matrix raster