CRAN Package Check Results for Package nls2

Last updated on 2025-12-06 00:48:51 CET.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 0.3-4 2.42 28.04 30.46 NOTE
r-devel-linux-x86_64-debian-gcc 0.3-4 1.84 15.55 17.39 ERROR
r-devel-linux-x86_64-fedora-clang 0.3-4 46.70 OK
r-devel-linux-x86_64-fedora-gcc 0.3-4 43.73 OK
r-devel-windows-x86_64 0.3-4 4.00 46.00 50.00 OK
r-patched-linux-x86_64 0.3-4 2.17 25.44 27.61 OK
r-release-linux-x86_64 0.3-4 2.20 26.52 28.72 OK
r-release-macos-arm64 0.3-4 OK
r-release-macos-x86_64 0.3-4 3.00 32.00 35.00 OK
r-release-windows-x86_64 0.3-4 4.00 45.00 49.00 OK
r-oldrel-macos-arm64 0.3-4 OK
r-oldrel-macos-x86_64 0.3-4 4.00 60.00 64.00 OK
r-oldrel-windows-x86_64 0.3-4 4.00 112.00 116.00 OK

Check Details

Version: 0.3-4
Check: CRAN incoming feasibility
Result: NOTE Maintainer: ‘G. Grothendieck <ggrothendieck@gmail.com>’ No Authors@R field in DESCRIPTION. Please add one, modifying Authors@R: c(person(given = "G.", family = "Grothendieck", role = c("aut", "cre"), email = "ggrothendieck@gmail.com"), person(given = c("R", "Core"), family = "Team", role = "aut", comment = "nls")) as necessary. Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc

Version: 0.3-4
Check: examples
Result: ERROR Running examples in ‘nls2-Ex.R’ failed The error most likely occurred in: > base::assign(".ptime", proc.time(), pos = "CheckExEnv") > ### Name: nls2 > ### Title: Nonlinear Least Squares with Brute Force > ### Aliases: nls2 > ### Keywords: nonlinear regression models > > ### ** Examples > > > y <- c(44,36,31,39,38,26,37,33,34,48,25,22,44,5,9,13,17,15,21,10,16,22, + 13,20,9,15,14,21,23,23,32,29,20,26,31,4,20,25,24,32,23,33,34,23,28,30,10,29, + 40,10,8,12,13,14,56,47,44,37,27,17,32,31,26,23,31,34,37,32,26,37,28,38,35,27, + 34,35,32,27,22,23,13,28,13,22,45,33,46,37,21,28,38,21,18,21,18,24,18,23,22, + 38,40,52,31,38,15,21) > > x <- c(26.22,20.45,128.68,117.24,19.61,295.21,31.83,30.36,13.57,60.47, + 205.30,40.21,7.99,1.18,5.40,13.37,4.51,36.61,7.56,10.30,7.29,9.54,6.93,12.60, + 2.43,18.89,15.03,14.49,28.46,36.03,38.52,45.16,58.27,67.13,92.33,1.17, + 29.52,84.38,87.57,109.08,72.28,66.15,142.27,76.41,105.76,73.47,1.71,305.75, + 325.78,3.71,6.48,19.26,3.69,6.27,1689.67,95.23,13.47,8.60,96.00,436.97, + 472.78,441.01,467.24,1169.11,1309.10,1905.16,135.92,438.25,526.68,88.88,31.43, + 21.22,640.88,14.09,28.91,103.38,178.99,120.76,161.15,137.38,158.31,179.36, + 214.36,187.05,140.92,258.42,85.86,47.70,44.09,18.04,127.84,1694.32,34.27, + 75.19,54.39,79.88,63.84,82.24,88.23,202.66,148.93,641.76,20.45,145.31, + 27.52,30.70) > > ## Example 1 > ## brute force followed by nls optimization > > fo <- y ~ Const + B * (x ^ A) > > # pass our own set of starting values > # returning result of brute force search as nls object > st1 <- expand.grid(Const = seq(-100, 100, len = 4), + B = seq(-100, 100, len = 4), A = seq(-1, 1, len = 4)) > mod1 <- nls2(fo, start = st1, algorithm = "brute-force") > mod1 Nonlinear regression model model: y ~ Const + B * (x^A) data: parent.frame() Const B A 33.3333 -33.3333 -0.3333 residual sum-of-squares: 10078 Number of iterations to convergence: 64 Achieved convergence tolerance: NA > # use nls object mod1 just calculated as starting value for > # nls optimization. Same as: nls(fo, start = coef(mod1)) > nls2(fo, start = mod1) Nonlinear regression model model: y ~ Const + B * (x^A) data: parent.frame() Const B A 33.9291 -33.4595 -0.4464 residual sum-of-squares: 8751 Number of iterations to convergence: 3 Achieved convergence tolerance: 3.025e-06 > > ## Example 2 > > # pass a 2-row data frame and let nls2 calculate grid > st2 <- data.frame(Const = c(-100, 100), B = c(-100, 100), A = c(-1, 1)) > mod2 <- nls2(fo, start = st2, algorithm = "brute-force") > mod2 Nonlinear regression model model: y ~ Const + B * (x^A) data: parent.frame() Const B A 33.3333 -33.3333 -0.3333 residual sum-of-squares: 10078 Number of iterations to convergence: 64 Achieved convergence tolerance: NA > # use nls object mod1 just calculated as starting value for > # nls optimization. Same as: nls(fo, start = coef(mod2)) > nls2(fo, start = mod2) Nonlinear regression model model: y ~ Const + B * (x^A) data: parent.frame() Const B A 33.9291 -33.4595 -0.4464 residual sum-of-squares: 8751 Number of iterations to convergence: 3 Achieved convergence tolerance: 3.025e-06 > > ## Example 3 > > # Create same starting values as in Example 2 > # running an nls optimization from each one and picking best. > # This one does an nls optimization for every random point > # generated whereas Example 2 only does a single nls optimization > nls2(fo, start = st2, control = nls.control(warnOnly = TRUE)) Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : number of iterations exceeded maximum of 50 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : number of iterations exceeded maximum of 50 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : number of iterations exceeded maximum of 50 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : number of iterations exceeded maximum of 50 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : number of iterations exceeded maximum of 50 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : number of iterations exceeded maximum of 50 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : number of iterations exceeded maximum of 50 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : number of iterations exceeded maximum of 50 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : number of iterations exceeded maximum of 50 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : number of iterations exceeded maximum of 50 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : number of iterations exceeded maximum of 50 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : number of iterations exceeded maximum of 50 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : number of iterations exceeded maximum of 50 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : number of iterations exceeded maximum of 50 Warning in (function (formula, data = parent.frame(), start, control = nls.control(), : step factor 0.000488281 reduced below 'minFactor' of 0.000976562 Nonlinear regression model model: y ~ Const + B * (x^A) data: parent.frame() Const B A 33.9290 -33.4595 -0.4464 residual sum-of-squares: 8751 Number of iterations to convergence: 4 Achieved convergence tolerance: 4.765e-07 > > ## Example 4 > > # Investigate singular jacobian at the start value > # Note that this cannot be done with nls since the singular jacobian at > # the initial conditions would stop it with an error. > > DF1 <- data.frame(y=1:9, one=rep(1,9)) > xx <- nls2(y~(a+2*b)*one, DF1, start = c(a=1, b=1), algorithm = "brute-force") > svd(xx$m$Rmat())[-2] $d [1] 6.708204 0.000000 $v [,1] [,2] [1,] -0.4472136 -0.8944272 [2,] -0.8944272 0.4472136 > > ## Example 5 > > # plinear-lhs example > # Thanks to John Nash for suggesting this truncation of the > # Ratkowsky2 dataset. Full dataset: data(Ratkowsky2, package = "NISTnls") > # Use plinear-lhs to get starting values and then run nls via nls2 for > # final answer. > > pastured <- data.frame( + time=c(9, 14, 21, 28, 42, 57, 63, 70, 79), + yield= c(8.93, 10.8, 18.59, 22.33, 39.35, 56.11, 61.73, 64.62, 67.08)) > fo <- yield ~ cbind(1, - exp(-exp(t3+t4*log(time)))) > > gstart <- data.frame(t3 = c(-10, 10), t4 = c(1, 8)) > set.seed(123) > junk <- capture.output(fm0 <- nls2(fo, data = pastured, start = gstart, alg = "plinear-lhs", + control = nls.control(maxiter = 1000)), type = "message") Execution halted Flavor: r-devel-linux-x86_64-debian-gcc