[R] NLS plinear question

2008-05-06 Thread Rick DeShon
Hi All.

I've run into a problem with the plinear algorithm in nls that is confusing
me.

Assume the following reaction time data over 15 trials for a single unit.
Trials are coded from 0-14 so that the intercept represents reaction time in
the first trial.

trl  RT
 01132.0
 1 630.5
 21371.5
 3 704.0
 4 488.5
 5 575.5
 6 613.0
 7 824.5
 8 509.0
 9 791.0
10 492.5
11 515.5
12 467.0
13 556.5
14 456.0

Now fit a power function to this data using nls with the plinear algorithm
fit.pw  -nls(RT ~ cbind(1,trl, trl^p), start = c(p = -.2), algorithm =
plinear, data=df.one)

Yields the following error message
Error in numericDeriv(form[[3]], names(ind), env) :
   Missing value or an infinity produced when evaluating the model

Now, recode trial from 1-15 and run the same model.
fit.pw  -nls(RT ~ cbind(1,trl, trl^p), start = c(p = -.2), algorithm =
plinear, data=df.one)

Seems to work fine now...
Nonlinear regression model
  model:  RT ~ cbind(1, trl, trl^p)
   data:  df.one
 p  .lin1.lin.trl   .lin3
   -0.2845   200.3230-8.9467   904.7582
 residual sum-of-squares: 555915

Number of iterations to convergence: 11

Any idea why having a zero for the first value of X causes this problem?

Thanks in advance,

Rick DeShon

[[alternative HTML version deleted]]

__
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] NLS plinear question

2008-05-06 Thread Katharine Mullen
recall that 0 ^{-.2} = 1/0^{.2}, and that dividing by 0 gives Inf.
so when 0 is in trl, part of your model for RT is Inf:

 trl - 0:14
 p - -.2
 cbind(1,trl, trl^p)
trl
 [1,] 1   0   Inf
 [2,] 1   1 1.000
 [3,] 1   2 0.8705506
 [4,] 1   3 0.8027416
 [5,] 1   4 0.7578583
 [6,] 1   5 0.7247797
 [7,] 1   6 0.6988271
 [8,] 1   7 0.6776109
 [9,] 1   8 0.6597540
[10,] 1   9 0.6443940
[11,] 1  10 0.6309573
[12,] 1  11 0.6190439
[13,] 1  12 0.6083643
[14,] 1  13 0.5987029
[15,] 1  14 0.5898946


On Tue, 6 May 2008, Rick DeShon wrote:

 Hi All.

 I've run into a problem with the plinear algorithm in nls that is confusing
 me.

 Assume the following reaction time data over 15 trials for a single unit.
 Trials are coded from 0-14 so that the intercept represents reaction time in
 the first trial.

 trl  RT
  01132.0
  1 630.5
  21371.5
  3 704.0
  4 488.5
  5 575.5
  6 613.0
  7 824.5
  8 509.0
  9 791.0
 10 492.5
 11 515.5
 12 467.0
 13 556.5
 14 456.0

 Now fit a power function to this data using nls with the plinear algorithm
 fit.pw  -nls(RT ~ cbind(1,trl, trl^p), start = c(p = -.2), algorithm =
 plinear, data=df.one)

 Yields the following error message
 Error in numericDeriv(form[[3]], names(ind), env) :
Missing value or an infinity produced when evaluating the model

 Now, recode trial from 1-15 and run the same model.
 fit.pw  -nls(RT ~ cbind(1,trl, trl^p), start = c(p = -.2), algorithm =
 plinear, data=df.one)

 Seems to work fine now...
 Nonlinear regression model
   model:  RT ~ cbind(1, trl, trl^p)
data:  df.one
  p  .lin1.lin.trl   .lin3
-0.2845   200.3230-8.9467   904.7582
  residual sum-of-squares: 555915

 Number of iterations to convergence: 11

 Any idea why having a zero for the first value of X causes this problem?

 Thanks in advance,

 Rick DeShon

   [[alternative HTML version deleted]]

 __
 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] NLS plinear question

2008-05-06 Thread Prof Brian Ripley
0^(-0.2) = Inf, so you started with an infinite prediction for your first 
point and hence an infinite sum of squares.


On Tue, 6 May 2008, Rick DeShon wrote:


Hi All.

I've run into a problem with the plinear algorithm in nls that is confusing
me.

Assume the following reaction time data over 15 trials for a single unit.
Trials are coded from 0-14 so that the intercept represents reaction time in
the first trial.

trl  RT
01132.0
1 630.5
21371.5
3 704.0
4 488.5
5 575.5
6 613.0
7 824.5
8 509.0
9 791.0
10 492.5
11 515.5
12 467.0
13 556.5
14 456.0

Now fit a power function to this data using nls with the plinear algorithm

fit.pw  -nls(RT ~ cbind(1,trl, trl^p), start = c(p = -.2), algorithm =

plinear, data=df.one)

Yields the following error message
Error in numericDeriv(form[[3]], names(ind), env) :
  Missing value or an infinity produced when evaluating the model

Now, recode trial from 1-15 and run the same model.

fit.pw  -nls(RT ~ cbind(1,trl, trl^p), start = c(p = -.2), algorithm =

plinear, data=df.one)

Seems to work fine now...
Nonlinear regression model
 model:  RT ~ cbind(1, trl, trl^p)
  data:  df.one
p  .lin1.lin.trl   .lin3
  -0.2845   200.3230-8.9467   904.7582
residual sum-of-squares: 555915

Number of iterations to convergence: 11

Any idea why having a zero for the first value of X causes this problem?

Thanks in advance,

Rick DeShon

[[alternative HTML version deleted]]

__
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.



--
Brian D. Ripley,  [EMAIL PROTECTED]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel:  +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UKFax:  +44 1865 272595

__
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.