[R] how to code y~x/(x+a) in lm() function
Bert Gunter
gunter.berton at gene.com
Wed Aug 21 02:16:21 CEST 2013
Rolf:
Thanks for this.
It nicely illustrates what to me is a fundamental problem: For many
scientists, it is not math ("stats") that is the stumbling block, but
rather the failure to understand how variability ("noise") affects the
experimental/observational process. One does tend to get more
philosophical in old age, I suppose...
My personal experience is that this problem is widespread, but mine is
a highly biased sample, of course. Nevertheless, it is hard to fault
those who stumble: Nothing in the usual basic science education
process discusses the issue (coherently, anyway); and certainly
standard applied statistics courses that I know of gloss over it. Nor
do I think the concepts are easy to grasp (a measurement is a sample
of size one from a population of measurements that one could get) --
at least I did not find them so.
No reply necessary, whether you agree or disagree. You just afforded
me a nice opportunity to vent.
Best,
Bert
On Tue, Aug 20, 2013 at 3:59 PM, Rolf Turner <rolf.turner at xtra.co.nz> wrote:
> On 21/08/13 11:23, Ye Lin wrote:
>> T
>> hanks for your insights Rolf! The model I want to fit is y=x/a+x with
>> no intercept, so I transformed it to 1/y=1+a/x as they are the same.
>
> For crying out loud, they are ***NOT*** the same. The equations y =
> x/(a+x) and
> 1/y = 1 + a/x are indeed algebraically identical, but if an "error" or
> "noise" term is added
> to each then then the nature of the error term is vastly different. It
> is the error or
> noise term that is of central concern in a statistical context.
>
> cheers,
>
> Rolf
>> but i will look up nls() and see how to fit the model without
>> transformation.
>>
>>
>> On Tue, Aug 20, 2013 at 2:45 PM, Rolf Turner <rolf.turner at xtra.co.nz
>> <mailto:rolf.turner at xtra.co.nz>> wrote:
>>
>>
>> (1) It is not acceptable to use "wanna" in written English. You
>> should say
>> "I want to fit a model ....".
>>
>> (2) The model you have fitted is *not* equivalent to the model you
>> first state.
>>
>> If you write "y ~ x/(a+x)" you are tacitly implying that
>>
>> y = x/(a+x) + E
>>
>> where the "errors" E are i.i.d. with mean 0.
>>
>> If this is the case then it will *not* be the case that
>>
>> 1/y = 1 + a/x + E
>>
>> with the E values being i.i.d. with mean 0.
>>
>> If the model "y ~ x/(a+x)" is really what you want to fit, then
>> you should
>> be using non-linear methods, e.g. by applying the function nls().
>>
>> cheers,
>>
>> Rolf Turner
>>
>>
>>
>> On 21/08/13 09:39, Ye Lin wrote:
>>
>> Hey All,
>>
>> I wanna to fit a model y~x/(a+x) to my data, here is the code
>> I use now:
>>
>> lm((1/y-1)~I(1/x)+0, data=b)
>>
>> and it will return the coefficient which is value of a
>>
>> however, if I use the code above, I am not able to draw a
>> curve the
>> presents this equation. How can I do this?
>>
>>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org 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.
--
Bert Gunter
Genentech Nonclinical Biostatistics
Internal Contact Info:
Phone: 467-7374
Website:
http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm
More information about the R-help
mailing list