[R] Fitting linear models

Vemuri, Aparna avemuri at epri.com
Tue Apr 21 17:50:16 CEST 2009


Attached are the first hundred rows of my data in comma separated format. 	
Forcing the regression line through the origin, still does not give a coefficient on the last independent variable. Also, I don't mind if there is a coefficient on the dependent axis. I just want all of the variables to have coefficients in the regression equation or a at least a consistent result, irrespective of the order of input information.

-----Original Message-----
From: David Winsemius [mailto:dwinsemius at comcast.net] 
Sent: Tuesday, April 21, 2009 8:38 AM
To: Vemuri, Aparna
Cc: r-help at r-project.org
Subject: Re: [R] Fitting linear models


On Apr 21, 2009, at 11:12 AM, Vemuri, Aparna wrote:

> David,
> Thanks for the suggestions. No, I did not label my dependent  
> variable "function".

That was from my error in reading your call to lm. In my defense I am  
reasonably sure the proper assignment to arguments is lm(formula= ...)  
rather than lm(function= ...).
>
>
> My dependent variable PBW and all the independent variables are  
> continuous variables. It is especially troubling since the order in  
> which I input independent variables determines whether or not it  
> gets a coefficient.  Like I already mentioned, I checked the  
> correlation matrix and picked the variables with moderate to high  
> correlation with the independent variable. . So I guess it is not so  
> naïve to expect a regression coefficient on all of them.
>
> Dimitri
> model1<-lm(PBW~SO4+NO3+NH4), gives me the same result as before.

Did you get the expected results with;
model1<-lm(formula=PBW~SO4+NO3+NH4+0)

You could, of course, provide either the data or the results of str()  
applied to each of the variables and then we could all stop guessing.

>
> Aparna
>
>>
>>
>> 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

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Vemuri-Rhelp-sample.txt
URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20090421/792096ca/attachment-0002.txt>


More information about the R-help mailing list