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. ______________________________________________ [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.
