为什么在使用缓冲区时 raster::extract return 有多个值?

Why does raster::extract return several values when using a buffer?

我正在尝试根据点从栅格中提取值。当我 运行 这个代码

library(raster)

raster::extract(my_raster, my_points, method='simple')

我为每个点获得一个栅格值。但是,当我尝试对缓冲区

执行相同操作时
raster::extract(my_raster, my_points, method='simple', buffer=250)

我每个点都有几个值。我详细阅读了该函数的文档,但我不明白为什么在我的点周围绘制缓冲区时会得到多个栅格值,或者如何避免这种情况。

谢谢。

这是从?extract

浓缩而来
library(raster)
r <- raster(ncol=36, nrow=18, vals=1:(18*36))
xy <- cbind(-50, seq(-80, 80, by=20))

## no function 
extract(r, xy[1:3,], buffer=1000000)
#[[1]]
# [1] 586 587 588 589 590 591 592 593 620 621 622 623 624 625 626 627 628 629 630 631
#[[2]]
#[1] 517 518 552 553 554 555
#[[3]]
#[1] 445 446 481 482

## mean works
extract(r, xy[1:3,], buffer=1000000, fun=mean)
#[1] 611.1 541.5 463.5

## but "mean" fails
extract(r, xy[1:3,], buffer=1000000, fun="mean")
#Error in fun(x) : could not find function "fun"