This function performs the updated nonlinear least squares (NLS) regression method for the cosine model (see Chazin et al. 2019).
sineFit(data, amplitude = NULL, intercept = NULL, method = c("OLS", "initial"))
data | A data frame that contains the data for one individual. There should be two columns with names 'distance' and 'oxygen'. |
---|---|
amplitude | Initial value for the amplitude parameter for the |
intercept | Initial value for the intercept parameter for the |
method | A character string giving the initialization for the nonlinear least squares regression. This must be either |
A fitted model object from the nls function in R:
an 'nlsModel' object incorporating the model.
a list with convergence information
the expression that was passed to 'nls' as the data argument. The actual data values are present in the environment of the 'm' component.
the matched call with several components, notably 'algorithm'
the '"dataClasses"' attribute (if any) of the '"terms"' attribute of the model frame.
the control 'list' used
Florent Baty, Christian Ritz, Sandrine Charles, Martin Brutsche, Jean-Pierre Flandrois, Marie-Laure Delignette-Muller (2015). A Toolbox for Nonlinear Regression in R: The Package nlstools. Journal of Statistical Software, 66(5), 1-21. URL http://www.jstatsoft.org/v66/i05/.
armenia_split = split(armenia,f = armenia$ID) amp = seq(1,10,by=0.5) int = seq(-25,0,by=0.5) sineFit(armenia_split[[2]],amp[3],int[4],method = "initial")#> Nonlinear regression model #> model: oxygen ~ intercept + amplitude * cos(frequency * distance + phase) #> data: data #> intercept amplitude phase frequency #> -5.7143 5.9191 -0.1394 0.1776 #> residual sum-of-squares: 1.049 #> #> Number of iterations to convergence: 8 #> Achieved convergence tolerance: 1.426e-06sineFit(armenia_split[[1]],method = "OLS")#> Nonlinear regression model #> model: oxygen ~ intercept + amplitude * cos(frequency * distance + phase) #> data: data #> intercept amplitude phase frequency #> -4.2485 5.2653 0.7701 0.1657 #> residual sum-of-squares: 1.371 #> #> Number of iterations to convergence: 6 #> Achieved convergence tolerance: 2.407e-06