Thanks Christos and Gabor. I didn't know there is such a thing called named
vector in R. Very cool.

Tom


On 10/21/06, Christos Hatzis <[EMAIL PROTECTED]> wrote:
>
> Tom,
>
> coef returns a "named" vector, which is a vector with an extra attribute
> called "names".
> To remove the extra attribute you can:
>
> names(a) <- NULL        # through the accessor function
> [EMAIL PROTECTED] <- NULL # directly accessing the attribute names
>
> or by creating a new vector as you did without setting its names
> attribute:
>
> as.vector(a)
>
> -Christos
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of tom soyer
> Sent: Saturday, October 21, 2006 1:00 AM
> To: Gabor Grothendieck
> Cc: r-help
> Subject: Re: [R] help with coef
>
> Gabor,
>
> Thanks for the code example, but it seems that BOD is not needed. I still
> don't understand what is going on with the data structure returned by
> coef(). The strangness is illustrated by the following example:
>
> > a=coef(lm(y~miles))
> > is.vector(a)
> [1] TRUE
> > a[2]
> miles
> -7.2875
> > a=as.vector(a)
> > is.vector(a)
> [1] TRUE
> > a[2]
> [1] -7.2875
>
> As you can see, although coef() returns a vector already, only after
> as.vector(a) is used, did a[2] include the slope without the name of the
> slope. Why is that, and what happened to the name of the slope (names(a)
> returns NULL)?
>
> Tom
>
> On 10/20/06, Gabor Grothendieck <[EMAIL PROTECTED]> wrote:
> >
> > Using the builtin BOD data frame:
> >
> > as.vector(coef(lm(demand ~ Time, BOD)))[2]
> >
> >
> > On 10/21/06, tom soyer <[EMAIL PROTECTED]> wrote:
> > > Hi,
> > >
> > > I am trying to get R to return just the slope of a linear regression
> > line,
> > > but it seems that R has to return both the slope and the name of the
> > slope.
> > > For example,
> > >
> > > > a=coef(lm(y~miles))
> > > > a
> > > (Intercept)       miles
> > >   360.3778     -7.2875
> > > > names(a)
> > > [1] "(Intercept)" "miles"
> > > > a[1]
> > > (Intercept)
> > >   360.3778
> > > > a[2]
> > >  miles
> > > -7.2875
> > >
> > > I don't understand the data structure that's returned from coef().
> > names(a)
> > > seems to suggest that coef() returns two columns of data, column one
> > > is
> > the
> > > Intercept, and column two miles. But R keeps telling me that the
> > > return value from coef() has only one dimension, i.e., a[,2] doesn't
> > > work, but
> > a[2]
> > > works. However, a[2] contains more than the slope, it also has the
> > > name
> > of
> > > the slope. Does anyone know how to access just the slope without its
> > name?
> > >
> > > Thanks,
> > >
> > > Tom
> > >
> > >        [[alternative HTML version deleted]]
> > >
> > > ______________________________________________
> > > [email protected] 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.
> > >
> >
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> [email protected] 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.
>
>
>
>

        [[alternative HTML version deleted]]

______________________________________________
[email protected] 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.

Reply via email to