[R] Fitting linear models

David Winsemius dwinsemius at comcast.net
Tue Apr 21 02:35:12 CEST 2009


On Apr 20, 2009, at 7:26 PM, Vemuri, Aparna wrote:

> I am not sure if this is an R-users question, but since most of you  
> here
> are statisticians, I decided to give it a shot.

You can omit the unnecessary preambles.
>
>
> I am using the lm() function in R to fit a dependent variable to a set
> of 3 to 5 independent variables. For this, I used the following
> commands:
>
>> model1<-lm(function=PBW~SO4+NO3+NH4)
> Coefficients:
> (Intercept)          SO4          NO3      NH4
>    0.01323      0.01968      0.01856           NA
>
> and
>
>> model2<-lm(function=PBW~SO4+NO3+NH4+Na+Cl)
>
> Coefficients:
> (Intercept)          SO4         	 NO3      NH4
> Na       Cl
> -0.0006987   -0.0119750   -0.0295042    0.0842989    0.1344751
> NA
>
> In both cases, the last independent variable has a coefficient of NA  
> in
> the result. I say last variable because, when I change the order of  
> the
> variables, the coefficient changes (see below). Can anyone point me to
> the reason R behaves this way?  Is there anyway for me to force R to  
> use
> all the variables? I checked the correlation matrices to makes sure
> there is no orthogonality between the variables.

You really did not name your dependent variable "function" did you?  
Please stop that.

Just a guess, ... since you have not provided enough information to do  
otherwise, ... Are all of those variables 1/0 dummy variables? If so  
and if you want to have an output that satisfies your need for  
labeling the coefficients as you naively anticipate, then put "0+" at  
the beginning of the formula or "-1" at the end, so that the intercept  
will disappear and then all variables will get labeled as you expect.

-- 
David Winsemius, MD
Heritage Laboratories
West Hartford, CT




More information about the R-help mailing list