我试图在 loess 函数调用的R simpleLoess 函数中查找如何到达delta1和delta2。
在 simpleLoess 函数中,有一个呼叫
z <- .C(C_loess_raw, y, x, if (no.st) 1 else weights,
if (no.st) weights * robust else 1, D, N, as.double(span),
as.integer(degree), as.integer(nonparametric), as.integer(order.drop.sqr),
as.integer(sum.drop.sqr), as.double(span * cell),
as.character(surf.stat), fitted.values = double(N),
parameter = integer(7L), a = integer(max.kd), xi = double(max.kd),
vert = double(2L * D), vval = double((D + 1L) * max.kd),
diagonal = double(N), trL = double(1L), delta1 = double(1L),
delta2 = double(1L), as.integer(surf.stat == "interpolate/exact"))
其中调用了一些C代码,而后者又调用了一些fortran代码。然后将delta1和delta2提取为:
one.delta <- z$delta1
two.delta <- z$delta2
在c函数here中调用。这本身称为一些fortran here。这时我很茫然-关于如何计算实际delta1
和delta2
的任何建议,以便我可以重新创建它,这将非常有帮助...