mpspline | R Documentation |
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.
mpspline( obj = NULL, var_name = NULL, lam = 0.1, d = c(0, 5, 15, 30, 60, 100, 200), vlow = 0, vhigh = 1000 )
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. |
A nested list of data for each input site. List elements are: Site
ID, vector of predicted values over input intervals, vector of predicted
values for each cm down the profile to max(d)
, vector of predicted
values over d
(output) intervals, and root mean squared error.
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) m1 <- mpspline(obj = dat, var_name = 'VAL')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.