View source: R/dynrGetDerivs.R

getdx | R Documentation |

A wrapper function to call functions in the fda package to obtain smoothed estimated derivatives at a specified order

getdx(theTimes, norder, roughPenaltyMax, lambda, dataMatrix, derivOrder)

`theTimes` |
The time points at which derivative estimation are requested |

`norder` |
Order of Bsplines - usually 2 higher than roughPenaltyMax |

`roughPenaltyMax` |
Penalization order. Usually set to 2 higher than the highest-order derivatives desired |

`lambda` |
A positive smoothing parameter: larger –> more smoothing |

`dataMatrix` |
Data of size total number of time points x total number of subjects |

`derivOrder` |
The order of the desired derivative estimates |

A list containing: 1. out (a matrix containing the derivative estimates at the specified order that matches the dimension of dataMatrix); 2. basisCoef (estimated basis coefficients); 3. basis2 (basis functions)

Chow, S-M. (2019). Practical Tools and Guidelines for Exploring and Fitting Linear and Nonlinear Dynamical Systems Models. Multivariate Behavioral Research. https://www.nihms.nih.gov/pmc/articlerender.fcgi?artid=1520409

Chow, S-M., *Bendezu, J. J., Cole, P. M., & Ram, N. (2016). A Comparison of Two- Stage Approaches for Fitting Nonlinear Ordinary Differential Equation (ODE) Models with Mixed Effects. Multivariate Behavioral Research, 51, 154-184. Doi: 10.1080/00273171.2015.1123138.

data("LinearOsc") # Number of subjects is 10 numP <- length(unique(LinearOsc$ID)) # Number of time points is 100 numT <- max(table(LinearOsc$ID)) out2 <- matrix(LinearOsc$x, ncol=numP, byrow=FALSE) theTimes <- LinearOsc$theTimes[1:numT] # Order of Bsplines - usually 2 higher than roughPenaltyMax norder <- 6 # Penalization order roughPenaltyMax <- 4 # Pick lambda value that gives the low GCV # Could/should use plotGCV instead sp <- 1/2 # Smoothed level x <- getdx(theTimes, norder, roughPenaltyMax, sp, out2, 0)[[1]] # Smoothed 1st derivs dx <- getdx(theTimes, norder, roughPenaltyMax, sp, out2, 1)[[1]] # Smoothed 2nd derivs d2x = getdx(theTimes, norder, roughPenaltyMax, sp, out2, 2)[[1]]

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.