https://github.com/cran/fields
Raw File
Tip revision: 92636eaee56714c89c7b7e7cdc52e0c77aeb79b3 authored by Doug Nychka on 07 February 2005, 00:00:00 UTC
version 2.3
Tip revision: 92636ea
Krig.df.to.lambda.r
"Krig.df.to.lambda" <-
function(df, D, guess = 1, tol = 1.0000000000000001e-05)
{
	#
	# grab D ( the eigenvalues) if the Krig object is passed
	#
	if(is.list(D)) {
		D <- D$matrices$D
	}
	if(is.na(df))
		return(NA)
	if(df < sum(D == 0)) {
		warning("df too small to match with a lambda value")
		return(NA)
	}
	if(df > length(D)) {
		warning(" df too large to match a lambda value")
		return(NA)
	}
	l1 <- guess
	########## find upper lambda
	for(k in 1:25) {
		tr <- sum(1/(1 + l1 * D))
		if(tr <= df)
			break
		l1 <- l1 * 4
	}
	########## find lower lambda
	##########
	l2 <- guess
	for(k in 1:25) {
		tr <- sum(1/(1 + l2 * D))
		if(tr >= df)
			break
		l2 <- l2/4
	}
	info <- list(D = D, df = df, N = length(D))
	out <- bisection.search(log(l1), log(l2), Krig.fdf, tol = tol, f.extra
		 = info)$x
 + exp(out)
}
back to top