Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 基于类的加权光栅聚集_R_Aggregate_Weighted - Fatal编程技术网

R 基于类的加权光栅聚集

R 基于类的加权光栅聚集,r,aggregate,weighted,R,Aggregate,Weighted,让我们假设我有一个光栅,以一定的分辨率表示土地使用类别。我必须用R将这个光栅聚合到一个更粗的分辨率和模式值方法,以便在更粗的光栅中拥有最主要的单元值。这是很容易实现的 m <- aggregate(r, fact = 3, fun = modal, na.rm = TRUE) m您可以使用重新分类来应用权重,但接下来呢?在那之后你还想计算模态值吗 我认为你想要的是你自己的功能,你提供给聚合。也许是这样的 library(raster) f <- function(x, ...) {

让我们假设我有一个光栅,以一定的分辨率表示土地使用类别。我必须用R将这个光栅聚合到一个更粗的分辨率和模式值方法,以便在更粗的光栅中拥有最主要的单元值。这是很容易实现的

m <- aggregate(r, fact = 3, fun = modal, na.rm = TRUE)

m您可以使用
重新分类
来应用权重,但接下来呢?在那之后你还想计算模态值吗

我认为你想要的是你自己的功能,你提供给聚合。也许是这样的

library(raster)
f <- function(x, ...) {
    y <- c(
       rep(x[x==1], 4),
       rep(x[x==2], 2),
       x[x==3]
    )
    modal(y, ...)
}

r <- raster(res=5)
values(r) <- sample(c(1:3,2,3,3), ncell(r), replace=TRUE)

a <- aggregate(r, fact=10, fun=f)
库(光栅)

f Coo,非常感谢!这看起来很有希望,仍然需要进一步研究它,以了解它是否完全满足我的需要。是否也可以从带有类列和权重列的数据帧传递不同数量的类的权重?例如,如果我有这个数据。frame
croot\u class weight croot\u code 1森林1 1 2郊区低层楼5 2 3农村楼5 3 4住宅楼5 4
我如何传递代码和权重?我想你应该编辑你的问题或问一个新问题