Problem with LM

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

Problem with LM

rsherry8
The values read into z2 came from a CSV file. Please consider this R
session:

 > length(x2)
[1] 1632
 > length(x)
[1] 1632
 > length(z2)
[1] 1632
 > head(z2)
[1] 28914.0 28960.5 28994.5 29083.0 29083.0 29083.0
 > tail(z2)
[1] 32729.65 32751.85 32386.05 32379.75 32379.15 31977.15
 > lm ( y ~ x2 + x, z2 )
Error in eval(predvars, data, env) :
   numeric 'envir' arg not of length one
 > lm ( y ~ x2 + x, as.data.frme(z2) )
Error in as.data.frme(z2) : could not find function "as.data.frme"
 > lm ( y ~ x2 + x, as.data.frame(z2) )
Error in eval(predvars, data, env) :
   numeric 'envir' arg not of length one
lm(formula = y ~ x2 + x, data = as.data.frame(z2))

Coefficients:
(Intercept)           x2            x
  -1.475e-09    1.000e+00    6.044e-13

 > min(z2)
[1] 24420
 > max(z2)
[1] 35524.85
 > class(z2)
[1] "numeric"
 >

where x is set to x = seq(1:1632)
and x2 is set to x^2

I am looking for an interpolating polynomial of the form:
     Ax^2 + Bx + C
I do not think the results I got make sense. I believe that I have a
data type error.  I do not understand why
I need to convert z2 to a data frame if it is already numeric.

Thanks,
Bob

______________________________________________
[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: Problem with LM

Richard M. Heiberger
## This example, with your variable names, works correctly.

z2 <- data.frame(y=1:5, x=c(1,5,2,3,5), x2=c(1,5,2,3,5)^2)
z2
class(z2)
length(z2)
dim(z2)

lm(y ~ x + x2, data=z2)

## note that that variable names y, x, x2 are column names of the
## data.frame z2

## please review the definitions and examples of data.frame in ?data.frame
## also the argument requirements for lm in ?lm

On Tue, Dec 18, 2018 at 6:32 PM rsherry8 <[hidden email]> wrote:

>
> The values read into z2 came from a CSV file. Please consider this R
> session:
>
>  > length(x2)
> [1] 1632
>  > length(x)
> [1] 1632
>  > length(z2)
> [1] 1632
>  > head(z2)
> [1] 28914.0 28960.5 28994.5 29083.0 29083.0 29083.0
>  > tail(z2)
> [1] 32729.65 32751.85 32386.05 32379.75 32379.15 31977.15
>  > lm ( y ~ x2 + x, z2 )
> Error in eval(predvars, data, env) :
>    numeric 'envir' arg not of length one
>  > lm ( y ~ x2 + x, as.data.frme(z2) )
> Error in as.data.frme(z2) : could not find function "as.data.frme"
>  > lm ( y ~ x2 + x, as.data.frame(z2) )
> Error in eval(predvars, data, env) :
>    numeric 'envir' arg not of length one
> lm(formula = y ~ x2 + x, data = as.data.frame(z2))
>
> Coefficients:
> (Intercept)           x2            x
>   -1.475e-09    1.000e+00    6.044e-13
>
>  > min(z2)
> [1] 24420
>  > max(z2)
> [1] 35524.85
>  > class(z2)
> [1] "numeric"
>  >
>
> where x is set to x = seq(1:1632)
> and x2 is set to x^2
>
> I am looking for an interpolating polynomial of the form:
>      Ax^2 + Bx + C
> I do not think the results I got make sense. I believe that I have a
> data type error.  I do not understand why
> I need to convert z2 to a data frame if it is already numeric.
>
> Thanks,
> Bob
>
> ______________________________________________
> [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.

______________________________________________
[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: Problem with LM

rsherry8
Richard,

It is now working.

Thank you very much.

Bob
On 12/18/2018 7:10 PM, Richard M. Heiberger wrote:

> ## This example, with your variable names, works correctly.
>
> z2 <- data.frame(y=1:5, x=c(1,5,2,3,5), x2=c(1,5,2,3,5)^2)
> z2
> class(z2)
> length(z2)
> dim(z2)
>
> lm(y ~ x + x2, data=z2)
>
> ## note that that variable names y, x, x2 are column names of the
> ## data.frame z2
>
> ## please review the definitions and examples of data.frame in ?data.frame
> ## also the argument requirements for lm in ?lm
>
> On Tue, Dec 18, 2018 at 6:32 PM rsherry8 <[hidden email]> wrote:
>> The values read into z2 came from a CSV file. Please consider this R
>> session:
>>
>>   > length(x2)
>> [1] 1632
>>   > length(x)
>> [1] 1632
>>   > length(z2)
>> [1] 1632
>>   > head(z2)
>> [1] 28914.0 28960.5 28994.5 29083.0 29083.0 29083.0
>>   > tail(z2)
>> [1] 32729.65 32751.85 32386.05 32379.75 32379.15 31977.15
>>   > lm ( y ~ x2 + x, z2 )
>> Error in eval(predvars, data, env) :
>>     numeric 'envir' arg not of length one
>>   > lm ( y ~ x2 + x, as.data.frme(z2) )
>> Error in as.data.frme(z2) : could not find function "as.data.frme"
>>   > lm ( y ~ x2 + x, as.data.frame(z2) )
>> Error in eval(predvars, data, env) :
>>     numeric 'envir' arg not of length one
>> lm(formula = y ~ x2 + x, data = as.data.frame(z2))
>>
>> Coefficients:
>> (Intercept)           x2            x
>>    -1.475e-09    1.000e+00    6.044e-13
>>
>>   > min(z2)
>> [1] 24420
>>   > max(z2)
>> [1] 35524.85
>>   > class(z2)
>> [1] "numeric"
>>   >
>>
>> where x is set to x = seq(1:1632)
>> and x2 is set to x^2
>>
>> I am looking for an interpolating polynomial of the form:
>>       Ax^2 + Bx + C
>> I do not think the results I got make sense. I believe that I have a
>> data type error.  I do not understand why
>> I need to convert z2 to a data frame if it is already numeric.
>>
>> Thanks,
>> Bob
>>
>> ______________________________________________
>> [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.

______________________________________________
[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: Problem with LM

Bert Gunter-2
... Perhaps worth adding is the use of poly() rather than separately
created  terms for (non/orthogonal)  polynomials:

lm(y ~ poly(x, degree =2)  #orthogonal polyomial of degree 2

see ?poly for details.

-- Bert

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 Tue, Dec 18, 2018 at 6:14 PM rsherry8 <[hidden email]> wrote:

> Richard,
>
> It is now working.
>
> Thank you very much.
>
> Bob
> On 12/18/2018 7:10 PM, Richard M. Heiberger wrote:
> > ## This example, with your variable names, works correctly.
> >
> > z2 <- data.frame(y=1:5, x=c(1,5,2,3,5), x2=c(1,5,2,3,5)^2)
> > z2
> > class(z2)
> > length(z2)
> > dim(z2)
> >
> > lm(y ~ x + x2, data=z2)
> >
> > ## note that that variable names y, x, x2 are column names of the
> > ## data.frame z2
> >
> > ## please review the definitions and examples of data.frame in
> ?data.frame
> > ## also the argument requirements for lm in ?lm
> >
> > On Tue, Dec 18, 2018 at 6:32 PM rsherry8 <[hidden email]> wrote:
> >> The values read into z2 came from a CSV file. Please consider this R
> >> session:
> >>
> >>   > length(x2)
> >> [1] 1632
> >>   > length(x)
> >> [1] 1632
> >>   > length(z2)
> >> [1] 1632
> >>   > head(z2)
> >> [1] 28914.0 28960.5 28994.5 29083.0 29083.0 29083.0
> >>   > tail(z2)
> >> [1] 32729.65 32751.85 32386.05 32379.75 32379.15 31977.15
> >>   > lm ( y ~ x2 + x, z2 )
> >> Error in eval(predvars, data, env) :
> >>     numeric 'envir' arg not of length one
> >>   > lm ( y ~ x2 + x, as.data.frme(z2) )
> >> Error in as.data.frme(z2) : could not find function "as.data.frme"
> >>   > lm ( y ~ x2 + x, as.data.frame(z2) )
> >> Error in eval(predvars, data, env) :
> >>     numeric 'envir' arg not of length one
> >> lm(formula = y ~ x2 + x, data = as.data.frame(z2))
> >>
> >> Coefficients:
> >> (Intercept)           x2            x
> >>    -1.475e-09    1.000e+00    6.044e-13
> >>
> >>   > min(z2)
> >> [1] 24420
> >>   > max(z2)
> >> [1] 35524.85
> >>   > class(z2)
> >> [1] "numeric"
> >>   >
> >>
> >> where x is set to x = seq(1:1632)
> >> and x2 is set to x^2
> >>
> >> I am looking for an interpolating polynomial of the form:
> >>       Ax^2 + Bx + C
> >> I do not think the results I got make sense. I believe that I have a
> >> data type error.  I do not understand why
> >> I need to convert z2 to a data frame if it is already numeric.
> >>
> >> Thanks,
> >> Bob
> >>
> >> ______________________________________________
> >> [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.
>
> ______________________________________________
> [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.