[R] Unable to retrieve residual sum of squares from nls output

2010-08-13 Thread Dennis Fisher
Colleagues,

I am using nls successfully (2.11.1, OS X) but I am having difficulties 
retrieving part of the output - residual sum of squares.  I have assigned the 
output to FIT:
  FIT
 Nonlinear regression model
   model:  NEWY ~ PMESOR + PAMPLITUDE * cos(2 * pi * (NEWX - POFFSET)/PERIOD) 
data:  parent.frame() 
 PMESOR PAMPLITUDEPOFFSET 
1153.02   -1183.09  24.58 
  residual sum-of-squares: 1815056
 
 Number of iterations to convergence: 8 
 Achieved convergence tolerance: 1.643e-08 

As you can see, the object contains residual sum-of-squares: 1815056.  
However, I can't figure out how to grab that value.   The tried using str:
  str(FIT)
 List of 6
  $ m  :List of 16
   ..$ resid :function ()  
   ..$ fitted:function ()  
   ..$ formula   :function ()  
   ..$ deviance  :function ()  
   ..$ lhs   :function ()  
   ..$ gradient  :function ()  
   ..$ conv  :function ()  
   ..$ incr  :function ()  
   ..$ setVarying:function (vary = rep(TRUE, length(useParams)))  
   ..$ setPars   :function (newPars)  
   ..$ getPars   :function ()  
   ..$ getAllPars:function ()  
   ..$ getEnv:function ()  
   ..$ trace :function ()  
   ..$ Rmat  :function ()  
   ..$ predict   :function (newdata = list(), qr = FALSE)  
   ..- attr(*, class)= chr nlsModel
  $ convInfo   :List of 5
   ..$ isConv : logi TRUE
   ..$ finIter: int 8
   ..$ finTol : num 1.64e-08
   ..$ stopCode   : int 0
   ..$ stopMessage: chr converged
  $ data   : language parent.frame()
  $ call   : language nls(formula = NEWY ~ PMESOR + PAMPLITUDE * cos(2 * 
 pi * (NEWX -  POFFSET)/PERIOD), start = list(PMESOR = MESOR, PAMPLITUDE = 
 AMPLITUDE,  ...
  $ dataClasses: Named chr numeric
   ..- attr(*, names)= chr NEWX
  $ control:List of 2
   ..$ maxiter : num 1000
   ..$ warnOnly: logi TRUE
  - attr(*, class)= chr nls

However, none of these elements appears to contain the residual sum of squares. 
 
Help!  Thanks.

Dennis





Dennis Fisher MD
P  (The P Less Than Company)
Phone: 1-866-PLessThan (1-866-753-7784)
Fax: 1-866-PLessThan (1-866-753-7784)
www.PLessThan.com

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Unable to retrieve residual sum of squares from nls output

2010-08-13 Thread Gabor Grothendieck
On Fri, Aug 13, 2010 at 5:21 PM, Dennis Fisher fis...@plessthan.com wrote:
 Colleagues,

 I am using nls successfully (2.11.1, OS X) but I am having difficulties 
 retrieving part of the output - residual sum of squares.  I have assigned the 
 output to FIT:
  FIT
 Nonlinear regression model
   model:  NEWY ~ PMESOR + PAMPLITUDE * cos(2 * pi * (NEWX - POFFSET)/PERIOD)
    data:  parent.frame()
     PMESOR PAMPLITUDE    POFFSET
    1153.02   -1183.09      24.58
  residual sum-of-squares: 1815056

 Number of iterations to convergence: 8
 Achieved convergence tolerance: 1.643e-08

 As you can see, the object contains residual sum-of-squares: 1815056.  
 However, I can't figure out how to grab that value.   The tried using str:
  str(FIT)
 List of 6
  $ m          :List of 16
   ..$ resid     :function ()
   ..$ fitted    :function ()
   ..$ formula   :function ()
   ..$ deviance  :function ()
   ..$ lhs       :function ()
   ..$ gradient  :function ()
   ..$ conv      :function ()
   ..$ incr      :function ()
   ..$ setVarying:function (vary = rep(TRUE, length(useParams)))
   ..$ setPars   :function (newPars)
   ..$ getPars   :function ()
   ..$ getAllPars:function ()
   ..$ getEnv    :function ()
   ..$ trace     :function ()
   ..$ Rmat      :function ()
   ..$ predict   :function (newdata = list(), qr = FALSE)
   ..- attr(*, class)= chr nlsModel
  $ convInfo   :List of 5
   ..$ isConv     : logi TRUE
   ..$ finIter    : int 8
   ..$ finTol     : num 1.64e-08
   ..$ stopCode   : int 0
   ..$ stopMessage: chr converged
  $ data       : language parent.frame()
  $ call       : language nls(formula = NEWY ~ PMESOR + PAMPLITUDE * cos(2 * 
 pi * (NEWX -      POFFSET)/PERIOD), start = list(PMESOR = MESOR, PAMPLITUDE 
 = AMPLITUDE,  ...
  $ dataClasses: Named chr numeric
   ..- attr(*, names)= chr NEWX
  $ control    :List of 2
   ..$ maxiter : num 1000
   ..$ warnOnly: logi TRUE
  - attr(*, class)= chr nls

 However, none of these elements appears to contain the residual sum of 
 squares.
 Help!  Thanks.


Try:

   sum(resid(FIT)^2)

or

   FIT$m$deviance()

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Unable to retrieve residual sum of squares from nls output

2010-08-13 Thread Jun Shen
Hi, Dennis,

Does this give what you want?

sum(resid(FIT)^2)

Jun

Senior Pharmacokineticist
Seventh Wave Labs
On Fri, Aug 13, 2010 at 4:21 PM, Dennis Fisher fis...@plessthan.com wrote:
 Colleagues,

 I am using nls successfully (2.11.1, OS X) but I am having difficulties 
 retrieving part of the output - residual sum of squares.  I have assigned the 
 output to FIT:
  FIT
 Nonlinear regression model
   model:  NEWY ~ PMESOR + PAMPLITUDE * cos(2 * pi * (NEWX - POFFSET)/PERIOD)
    data:  parent.frame()
     PMESOR PAMPLITUDE    POFFSET
    1153.02   -1183.09      24.58
  residual sum-of-squares: 1815056

 Number of iterations to convergence: 8
 Achieved convergence tolerance: 1.643e-08

 As you can see, the object contains residual sum-of-squares: 1815056.  
 However, I can't figure out how to grab that value.   The tried using str:
  str(FIT)
 List of 6
  $ m          :List of 16
   ..$ resid     :function ()
   ..$ fitted    :function ()
   ..$ formula   :function ()
   ..$ deviance  :function ()
   ..$ lhs       :function ()
   ..$ gradient  :function ()
   ..$ conv      :function ()
   ..$ incr      :function ()
   ..$ setVarying:function (vary = rep(TRUE, length(useParams)))
   ..$ setPars   :function (newPars)
   ..$ getPars   :function ()
   ..$ getAllPars:function ()
   ..$ getEnv    :function ()
   ..$ trace     :function ()
   ..$ Rmat      :function ()
   ..$ predict   :function (newdata = list(), qr = FALSE)
   ..- attr(*, class)= chr nlsModel
  $ convInfo   :List of 5
   ..$ isConv     : logi TRUE
   ..$ finIter    : int 8
   ..$ finTol     : num 1.64e-08
   ..$ stopCode   : int 0
   ..$ stopMessage: chr converged
  $ data       : language parent.frame()
  $ call       : language nls(formula = NEWY ~ PMESOR + PAMPLITUDE * cos(2 * 
 pi * (NEWX -      POFFSET)/PERIOD), start = list(PMESOR = MESOR, PAMPLITUDE 
 = AMPLITUDE,  ...
  $ dataClasses: Named chr numeric
   ..- attr(*, names)= chr NEWX
  $ control    :List of 2
   ..$ maxiter : num 1000
   ..$ warnOnly: logi TRUE
  - attr(*, class)= chr nls

 However, none of these elements appears to contain the residual sum of 
 squares.
 Help!  Thanks.

 Dennis





 Dennis Fisher MD
 P  (The P Less Than Company)
 Phone: 1-866-PLessThan (1-866-753-7784)
 Fax: 1-866-PLessThan (1-866-753-7784)
 www.PLessThan.com

 __
 R-help@r-project.org mailing list
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
 and provide commented, minimal, self-contained, reproducible code.


__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Unable to retrieve residual sum of squares from nls output

2010-08-13 Thread Gabor Grothendieck
On Fri, Aug 13, 2010 at 5:32 PM, Gabor Grothendieck
ggrothendi...@gmail.com wrote:
 On Fri, Aug 13, 2010 at 5:21 PM, Dennis Fisher fis...@plessthan.com wrote:
 Colleagues,

 I am using nls successfully (2.11.1, OS X) but I am having difficulties 
 retrieving part of the output - residual sum of squares.  I have assigned 
 the output to FIT:
  FIT
 Nonlinear regression model
   model:  NEWY ~ PMESOR + PAMPLITUDE * cos(2 * pi * (NEWX - POFFSET)/PERIOD)
    data:  parent.frame()
     PMESOR PAMPLITUDE    POFFSET
    1153.02   -1183.09      24.58
  residual sum-of-squares: 1815056

 Number of iterations to convergence: 8
 Achieved convergence tolerance: 1.643e-08

 As you can see, the object contains residual sum-of-squares: 1815056.  
 However, I can't figure out how to grab that value.   The tried using str:
  str(FIT)
 List of 6
  $ m          :List of 16
   ..$ resid     :function ()
   ..$ fitted    :function ()
   ..$ formula   :function ()
   ..$ deviance  :function ()
   ..$ lhs       :function ()
   ..$ gradient  :function ()
   ..$ conv      :function ()
   ..$ incr      :function ()
   ..$ setVarying:function (vary = rep(TRUE, length(useParams)))
   ..$ setPars   :function (newPars)
   ..$ getPars   :function ()
   ..$ getAllPars:function ()
   ..$ getEnv    :function ()
   ..$ trace     :function ()
   ..$ Rmat      :function ()
   ..$ predict   :function (newdata = list(), qr = FALSE)
   ..- attr(*, class)= chr nlsModel
  $ convInfo   :List of 5
   ..$ isConv     : logi TRUE
   ..$ finIter    : int 8
   ..$ finTol     : num 1.64e-08
   ..$ stopCode   : int 0
   ..$ stopMessage: chr converged
  $ data       : language parent.frame()
  $ call       : language nls(formula = NEWY ~ PMESOR + PAMPLITUDE * cos(2 * 
 pi * (NEWX -      POFFSET)/PERIOD), start = list(PMESOR = MESOR, PAMPLITUDE 
 = AMPLITUDE,  ...
  $ dataClasses: Named chr numeric
   ..- attr(*, names)= chr NEWX
  $ control    :List of 2
   ..$ maxiter : num 1000
   ..$ warnOnly: logi TRUE
  - attr(*, class)= chr nls

 However, none of these elements appears to contain the residual sum of 
 squares.
 Help!  Thanks.


 Try:

   sum(resid(FIT)^2)

 or

   FIT$m$deviance()

or deviance(FIT)

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.