我正在处理一个项目,该项目包含与变量关联并在函数内部修改的大型栅格对象。我已经在函数内部对我需要的变量进行排序,但我现在想要不只返回变量的排序矩阵,而是返回与这些值相关联的栅格。我可以运行该函数两次并在第二次迭代中返回我想要的第二个对象,但这看起来很糟糕,浪费时间。我是编程新手,R是我的第一语言。下面的代码抛出了与我更复杂的函数相同的错误,
" temp2 [i,] = t(as.matrix(temp))出错: 矩阵"
上的下标数量不正确任何建议都会非常有用,谢谢。
require('raster')
r1 <- raster(nrows=108, ncols=21, xmn=0, xmx=10)
Test = function(x,y,z){
temp = matrix(NA,4,length(x))
temp2 = matrix(NA,4,length(x))
for(i in 1:length(x)){
temp=c(r1,x[i],y[i],z[i])
temp2[i,]=t(as.matrix(temp))
}
return(temp2)
}
x = c(1,2,3,4)
y = c(1,2,3,4)
z = c(1,2,3,4)
final answer = Test(x,y,z)
答案 0 :(得分:0)
你的问题根本不清楚。但是这里是你如何排序栅格值
library(raster)
s <- stack(system.file("external/rlogo.grd", package="raster"))
ss <- calc(s, sort, na.last=TRUE)