On 26-Sep-05 nwew wrote:> Dear R-users,
>
> I have the following data
>
> x <- runif(300,min=1,max=230)
>
> y <- x*0.005 + 0.2
> y <- y+rnorm(100,mean=0,sd=0.1)
> y <- y%%1 # <------- modulo operation
> plot(x,y)
>
> and would like to recapture the slope (0.005) and intercept(0.2).
> I wonder if there are any clever algorithms to do this. I was
> looking at the function lm.cirucalar. Is this the method to use?
> If, which of the references is best too look at?
>
> Eryk
Hi Eryk,
If you know the modulus (in your case 1.0) and you get data that
look like the result of your "plot(x,y)", then I wouldn't mess
about.
I would simply do something like
y1<-y
ix <- ix<-(y < 0.9*(x-50)/200)
y1[ix] <- y1[ix]+1.0
lm(y1~x)
(the constants 0.9/200, -50 being chosen to give a good separation
on the graph).
On the other hand, if there are good reasons why this very simple
approach is not suitable, then if we knew what they were a more
helpful reply would be easier to formulate!
Best wishes,
Ted.
--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 26-Sep-05 Time: 15:56:48
------------------------------ XFMail ------------------------------