我有两个栅格,我想计算一个区域平均值'用于计算平均值的样本数量。它与平均值一起工作正常,但是当我想计算样本数量时,它会计算出''''& #39;平均'我也试过了'" min"'同样的。
Library (raster)
Library (rasterVis)
Library (lattic)
r <- raster(nrows=10, ncols=10)
r <- setValues(r, 1:ncell(r))
r1 <- raster(nrows=10, ncols=10)
r1 <- setValues(r1, 1:ncell(r))
St=stack(r,r1)
idx <- seq(as.Date('2008-01-15'), as.Date('2008-1-16'), 'day')
SISmm <- setZ(St, idx)
dirLayer <- init(SISmm, v='y')
z <- zonal(SISmm, dirLayer, FUN='mean', digits=2) ## worked fine
zc <- zonal(SISmm, dirLayer, FUN='count',na.rm=T, digits=2)## the results are the same as z
zsd <- zonal(SISmm, dirLayer, FUN='sd',na.rm=T, digits=2)## the results are the same as z
请帮忙吗?
答案 0 :(得分:1)
主要错误是参数名称为fun
,而不是FUN
。 (在包的先前版本中,参数为stat
。对于反向兼容性而言
count
会出现问题,我们不推荐使用freq
,这需要一个raster
- ish对象,但据我所知zonal
在将数据传递给被调用函数之前将数据转换为numeric
。可能你可以做zonal(SISmm, dirLayer, stat=function(k) freq(as.raster(k))
但我还没试过。