我目前正在大量使用density.ppp
函数,并使用我自己设计的不同内核函数来调用它。
为此,我需要通过density.ppp
arglist通过...
将一些参数传递给我的内核函数。
在一种情况下,这是行不通的,即如果我想通过边缘校正来计算at = "points"
。
在densitypointsengine
中,
# evaluate edge correction weights at points
if(edge) {
win <- x$window
if(isgauss && is.null(varcov) && win$type == "rectangle") {
# evaluate Gaussian probabilities directly
xr <- win$xrange
yr <- win$yrange
xx <- x$x
yy <- x$y
xprob <-
pnorm(xr[2L], mean=xx, sd=sigma) - pnorm(xr[1L], mean=xx, sd=sigma)
yprob <-
pnorm(yr[2L], mean=yy, sd=sigma) - pnorm(yr[1L], mean=yy, sd=sigma)
edgeweight <- xprob * yprob
} else {
edg <- second.moment.calc(x, sigma=sigma,
kernel=kernel,
scalekernel=scalekernel,
what="edge", varcov=varcov)
edgeweight <- safelookup(edg, x, warn=FALSE)
}
因此,second.moment.calc
的调用不支持...
中隐藏的其他参数。
我想知道这可能是一个错误还是故意这样做。
答案 0 :(得分:0)
这是一个错误。到...
的呼叫中应该有一个second.moment.calc
。
它将很快在spatstat
的开发版本中修复。