invalid type (list) for variable 'y' in library minpack.lm

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

invalid type (list) for variable 'y' in library minpack.lm

Luigi
Hello,
I am trying to find the best fit to a function for epidemic analysis.
I am trying with the package minpack.lm but I don't really know how to
use it. I am getting the error:
```
Error in model.frame.default(formula = ~y + x, data = list(Y)) :
  invalid type (list) for variable 'y'
In addition: Warning messages:
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf
```
So I have some questions:
- how to solve the list problem? (what is the input for nlsLM? I have
a vector with the actual values, shall I convert in a dataframe?)
- how to avoid infinitives?
- is there another function other than nlsLM that I should use?
- is there another function that could fit a sigmoid profile other
than Holling type III?

This is the working example:
```
holling = function(a, b, x) {
  y = (a * x^2) / (b^2 + x^2)
  return(y)
}
Y = c(8,   24,   39,   63,   89,  115,  153,  196,  242,  287,  344,  408,  473,
      546,  619,  705,  794,  891,  999, 1096, 1242, 1363, 1506, 1648, 1753,
      1851, 1987, 2101, 2219, 2328, 2425, 2575, 2646, 2698, 2727, 2771, 2818,
      2853, 2895, 2926, 2964, 2995, 3025, 3053, 3080, 3102, 3119, 3141, 3152,
      3159, 3172, 3182, 3196, 3209, 3220, 3231, 3239, 3246, 3252, 3261)
X = 1:60
A = 3261
B = 10
plot(X, Y,
     col = "red", pch =16, lwd = 2,
     main = paste("Starting values: a=", A, "; b=", B, sep =""),
     xlab = expression(bold("Days of infection")),
     ylab = expression(bold("Cumulative incidence")))
HL = holling(A, B, X)
points(X, HL, type = "l", lty = 2)

# estimation
library("minpack.lm")
init_parms = c(a=A, b=B)
est = nlsLM(formula = y~(a*x^2)/(b^2 + x^2), start=init_parms, data=list(Y))
```

--
Best regards,
Luigi

______________________________________________
[hidden email] mailing list -- To UNSUBSCRIBE and more, see
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.
Reply | Threaded
Open this post in threaded view
|

Re: invalid type (list) for variable 'y' in library minpack.lm

Rasmus Liland-3
Dear Luigi,

On 2020-06-25 12:18 +0200, Luigi Marongiu wrote:
> Hello,
> I am trying to find the best fit to a
> function for epidemic analysis.
> I am trying with the package minpack.lm but
> I don't really know how to use it.

Me neither ...

> So I have some questions:
> - how to solve the list problem? (what is
>   the input for nlsLM? I have a vector with
>   the actual values, shall I convert in a
>   dataframe?)

I got past the error by give
minpack.lm::nlsLM X and Y in a data.frame

        minpack.lm::nlsLM(
          formula = y~(a*x^2)/(b^2 + x^2),
          start=c(a=A, b=B),
          data=data.frame(x=X, y=Y))

as per ?minpack.lm::nlsLM:

        data: an optional data frame in which to evaluate the variables
              in‘formula’ and ‘weights’.  Can also be a list or an
              environment, but not a matrix.

> - how to avoid infinitives?
> - is there another function other than
>   nlsLM that I should use?
> - is there another function that could fit
>   a sigmoid profile other than Holling type
>   III?

These other questions seem good and
interesting, I hope someone else can answer
them.

Best,
Rasmus

______________________________________________
[hidden email] mailing list -- To UNSUBSCRIBE and more, see
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.

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: invalid type (list) for variable 'y' in library minpack.lm

Bert Gunter-2
"These other questions seem good and
interesting, I hope someone else can answer
them."

Perhaps, but not appropriate for this list, imo. Statistics issue mostly
belong elsewhere, e.g. on stats.stackexchange.com.

Bert Gunter

"The trouble with having an open mind is that people keep coming along and
sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )


On Thu, Jun 25, 2020 at 4:25 AM Rasmus Liland <[hidden email]> wrote:

> Dear Luigi,
>
> On 2020-06-25 12:18 +0200, Luigi Marongiu wrote:
> > Hello,
> > I am trying to find the best fit to a
> > function for epidemic analysis.
> > I am trying with the package minpack.lm but
> > I don't really know how to use it.
>
> Me neither ...
>
> > So I have some questions:
> > - how to solve the list problem? (what is
> >   the input for nlsLM? I have a vector with
> >   the actual values, shall I convert in a
> >   dataframe?)
>
> I got past the error by give
> minpack.lm::nlsLM X and Y in a data.frame
>
>         minpack.lm::nlsLM(
>           formula = y~(a*x^2)/(b^2 + x^2),
>           start=c(a=A, b=B),
>           data=data.frame(x=X, y=Y))
>
> as per ?minpack.lm::nlsLM:
>
>         data: an optional data frame in which to evaluate the variables
>               in‘formula’ and ‘weights’.  Can also be a list or an
>               environment, but not a matrix.
>
> > - how to avoid infinitives?
> > - is there another function other than
> >   nlsLM that I should use?
> > - is there another function that could fit
> >   a sigmoid profile other than Holling type
> >   III?
>
> These other questions seem good and
> interesting, I hope someone else can answer
> them.
>
> Best,
> Rasmus
> ______________________________________________
> [hidden email] mailing list -- To UNSUBSCRIBE and more, see
> 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.
>

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list -- To UNSUBSCRIBE and more, see
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.
Reply | Threaded
Open this post in threaded view
|

Re: invalid type (list) for variable 'y' in library minpack.lm

Rasmus Liland-3
On 2020-06-25 07:52 -0700, Bert Gunter wrote:

> On Thu, Jun 25, 2020 at 4:25 AM Rasmus Liland wrote:
> > On 2020-06-25 12:18 +0200, Luigi Marongiu wrote:
> > > - how to avoid infinitives?
> > > - is there another function other than
> > >   nlsLM that I should use?
> > > - is there another function that could
> > >   fit a sigmoid profile other than
> > >   Holling type III?
> >
> > These other questions seem good and
> > interesting, I hope someone else can
> > answer them.
>
> Perhaps, but not appropriate for this list,
> imo.  Statistics issue mostly belong
> elsewhere, e.g. on
> stats.stackexchange.com.
+1

______________________________________________
[hidden email] mailing list -- To UNSUBSCRIBE and more, see
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.

signature.asc (849 bytes) Download Attachment