Re: [R] Dummy variables model

From: Adaikalavan Ramasamy <ramasamy_at_cancer.org.uk>
Date: Tue 06 Sep 2005 - 02:30:12 EST

You will need to ensure that firm is a factor and not numerical (i.e. continuous). Here is an example

 firm <- factor( sample(1:3, 20, replace=T) )
 x1   <- runif(20)
 y    <- rnorm(20)

 summary( fit <- lm( y ~ -1 + x1 + firm ) )   ...
  Coefficients:

        Estimate Std. Error t value Pr(>|t|)

  x1    -0.04964    0.74861  -0.066    0.948
  firm1  0.10732    0.48269   0.222    0.827
  firm2  0.27548    0.48781   0.565    0.580
  firm3 -0.07651    0.53384  -0.143    0.888

NB : The "-1" in the formula forces each firm to have its own intercept.

Use model.matrix, you will see the dummy variables created within lm().

 model.matrix( fit )

           x1 firm1 firm2 firm3
 1  0.6641647     0     1     0
 2  0.5142712     1     0     0
 3  0.2197956     1     0     0
 4  0.3211675     0     1     0
 5  0.1892449     1     0     0
 6  0.7740754     0     0     1
 7  0.3486932     0     1     0
 8  0.2116816     0     0     1
 9  0.2426825     0     1     0
 10 0.2219768     1     0     0
 11 0.9328514     1     0     0
 12 0.7880405     0     0     1
 13 0.8673492     0     1     0
 14 0.1777998     0     1     0
 15 0.3178498     1     0     0
 16 0.3379726     0     0     1
 17 0.9193359     1     0     0
 18 0.6998152     0     1     0
 19 0.2825702     0     0     1
 20 0.6139586     1     0     0

Regards, Adai

On Mon, 2005-09-05 at 15:53 +0100, Tobias Muhlhofer wrote:
> So are you guys saying to me that if I have variable firm which is the
> factor of all firm identifiers, I could just go
>
> lm(y ~ x + firm)
>
> and that will implicitly include a dummy for each level of factor firm,
> thus making this a fixed effects (aka LSDV) model?
>
> T
>
>
> Jean Eid wrote:
> > You can turn the identity vector of the firms into a factor and do lm ....
> >
> > Jean
> >
> > On Mon, 5 Sep 2005, Tobias Muhlhofer wrote:
> >
> >
> >>Hi, all!
> >>
> >>Anyone know an easy way to specify the following model.
> >>
> >>Panel dataset, with stock through time, by firm.
> >>
> >>I want to run a model of y on a bunch of explanatory variables, and one
> >>dummy for each firm, which is 1 for observations that come from firm i,
> >>and 0 everywhere else. I have over 200 firms (and a factor variable that
> >> contains a firm identifier).
> >>
> >>Any easy way of going about this, without having to define all these
> >>dummies? I checked lme() with random = ~ 1|firm, but the problem is that
> >>these are random effects, i.e. that there are firm-by-firm disturbance
> >>terms and overall disturbance terms, whereas I want just overall
> >>disturbance terms. This is generally called a "fixed effects" model,
> >>although it seems like the term "fixed effects" is being used somewhat
> >>differently in the context of the nlme package.
> >>
> >>Toby
> >>
> >>--
> >>**************************************************************************
> >>When Thomas Edison invented the light bulb he tried over 2000
> >>experiments before he got it to work. A young reporter asked
> >>him how it felt to have failed so many times. He said
> >>"I never failed once. I invented the light bulb.
> >>It just happened to be a 2000-step process."
> >>
> >>______________________________________________
> >>R-help@stat.math.ethz.ch mailing list
> >>https://stat.ethz.ch/mailman/listinfo/r-help
> >>PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> >>
> >
> >
> >
>



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue Sep 06 02:05:16 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:40:03 EST