[R] details about lm()
vincent@7d4.com
vincent at 7d4.com
Mon Oct 10 15:48:53 CEST 2005
Uwe Ligges a écrit :
> vincent at 7d4.com wrote:
>
>> Domenico Cozzetto a écrit :
>>
>>> Dear all,
>>> I'd like to get a linear regression of some data, and impose that the
>>> line
>>> goes through a given point P. I've tried to use the lm() method in the
>>> package "stats", but I wasn't able to specify the coordinates of the
>>> point P. Maybe I should use another method?
>>
>> add directly P in your data is also a way
>
> No!
Sorry indeed for my not at all rigourous answer.
Adding P in the data set will indeed not force the regression line
to pass through P (P will only be one more points of the cloud,
adding P will "attract" the regression line, not more.)
I did make this answer because I'm yet working with very small data
sets, and adding P (in more than one exemplar when needed in order to
give it more weight), is a fast, (a bit ugly I agree), way to do.
But on the kind of data I use, it works good enough.
I should have add this precision. Apologies.
> Please, both of you, consult a basic textbook on linear regression.
If you have a good reference or link in mind,
I would thank you.
> You can transform the data (linear) so that P becomes (0,0), after that
> you can estimate the slope without intercept by specifying
> lm(y ~ x - 1)
> The slope estimate is still valid while your intercept can be calculated
> afterwards.
Sorry for my lack of knowledge, but will the above trick really force
the regression line to pass through P ?
adding (0,0) in this new system of coordinates isn't it equivalent to
add P to the dataset in the original system ?
If my question is too basic and/or too stupid, just give it a rest.
Vincent
More information about the R-help
mailing list