mpspline_compact {mpspline2} | R Documentation |
Spline discrete soils data - multiple sites, compact output
Description
This function implements the mass-preserving spline method of Bishop et
al (1999) (doi: 10.1016/S0016-7061(99)00003-8) for interpolating between
measured soil attributes down a soil profile, across multiple sites' worth of
data. It returns a more compact output object than
mpspline()
.
Usage
mpspline_compact(
obj = NULL,
var_name = NULL,
lam = 0.1,
d = c(0, 5, 15, 30, 60, 100, 200),
vlow = 0,
vhigh = 1000
)
Arguments
obj |
data.frame or matrix. Column 1 must contain site identifiers. Columns 2 and 3 must contain upper and lower sample depths, respectively. Subsequent columns will contain measured values for those depths. |
var_name |
length-1 character or length-1 integer denoting the column in
|
lam |
number; smoothing parameter for spline. Defaults to 0.1. |
d |
sequential integer vector; denotes the output depth ranges in cm.
Defaults to |
vlow |
numeric; constrains the minimum predicted value to a realistic number. Defaults to 0. |
vhigh |
numeric; constrains the maximum predicted value to a realistic number. Defaults to 1000. |
Value
A four-item list containing a matrix of predicted values over the input depth ranges, a matrix of predicted values over the output depth ranges, a matrix of 1cm predictions, and a matrix of RMSE and IQR-scaled RMSE values. Site identifiers are in rownames attributes.
Examples
dat <- data.frame("SID" = c( 1, 1, 1, 1, 2, 2, 2, 2),
"UD" = c( 0, 20, 40, 60, 0, 15, 45, 80),
"LD" = c(10, 30, 50, 70, 5, 30, 60, 100),
"VAL" = c( 6, 4, 3, 10, 0.1, 0.9, 2.5, 6),
stringsAsFactors = FALSE)
mpspline_compact(obj = dat, var_name = 'VAL')