0

我已经使用这个功能有一段时间了。奇怪的是,突然 fun=mean 不适用于 R 的光栅包!

rasterize(data_r[,1:2], r, data_r[,3], fun=mean)

Error in .pointsToRaster(x, y, field = field, fun = fun, background = background,  : 
  could not find function "fun"

但是,除均值之外的任何方法都有效;例如 fun = 'sum' 似乎工作正常!任何的想法?

4

2 回答 2

4

在这里工作正常:

Rgames> rasterize(matrix(1:6,3)/6,raster(matrix(1:8,4)/8),fun=mean)
class       : RasterLayer 
dimensions  : 4, 2, 8  (nrow, ncol, ncell)
resolution  : 0.5, 0.25  (x, y)
extent      : 0, 1, 0, 1  (xmin, xmax, ymin, ymax)
coord. ref. : NA 
data source : in memory
names       : layer 
values      : 1, 3  (min, max)

您是否检查以确保您没有意外地mean从您的环境中删除,或者用其他东西覆盖它?

于 2014-01-25T17:36:05.513 回答
1

如果您不小心创建了另一个名为 的函数mean,您仍然可以在其命名空间中访问原始函数,即base,使用base::mean

rasterize(data_r[,1:2], r, data_r[,3], fun = base::mean)
于 2014-01-25T21:05:44.073 回答