为什么这种分类栅格对象的方法在R中不起作用?

时间:2016-06-17 18:35:24

标签: r r-raster

我正在处理一个项目,该项目包含与变量关联并在函数内部修改的大型栅格对象。我已经在函数内部对我需要的变量进行排序,但我现在想要不只返回变量的排序矩阵,而是返回与这些值相关联的栅格。我可以运行该函数两次并在第二次迭代中返回我想要的第二个对象,但这看起来很糟糕,浪费时间。我是编程新手,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)

1 个答案:

答案 0 :(得分:0)

你的问题根本不清楚。但是这里是你如何排序栅格值

library(raster)
s <- stack(system.file("external/rlogo.grd", package="raster"))
ss <- calc(s, sort, na.last=TRUE)