On 2011-01-17 04:14, Tonja Krueger wrote:> Hi List,
> Can someone help me to calculate the coordinates of the red and green
points? In this
> example I found their approximate location by trying, but as I have to
analyse
> many similar curves, I?d rather calculate the exact location.
>
> data<-
> c(0.008248005, 0.061242387, 0.099095516, 0.189943027, 0.227796157,
0.258078661,
> 0.280790538, 0.303502416, 0.386779301, 0.454914934, 0.545762445,
0.591186201,
> 0.682033712, 0.757739971, 0.825875604, 0.848587482, 0.803163726,
0.833446230,
> 0.878869985, 0.871299359, 0.878869985, 0.947005619, 1.000000000,
0.992429374,
> 0.954576245, 0.894011237, 0.765310597, 0.621468704, 0.492768064,
0.333784920,
> 0.258078661, 0.174801775, 0.099095516, 0.008248005)
>
> plot(data, type="l")
> abline(h=0.9)
>
> points(21.35,.9, pch=20, col="red")
> points(26,.9, pch=20, col="green")
>
>
> Thank you,
> Tonja
You can do this with graphics, using the locator() function:
plot(data, type="l")
abline(h=0.9)
v <- locator(2)
Now click on the intersection points and then extract v$x.
It's best to blow up the relevant region of the plot
(perhaps for each point separately) with appropriate
xlim/ylim settings and to maximize your plot window.
Alternatively, you can identify that the points lie
in data[21:22] and in data[25:26]. Then use the
approx() function:
approx(data[21:22], 21:22, xout = 0.9)
approx(data[25:26], 25:26, xout = 0.9)
Your points were close - just a bit high: approx gives
21.31012 and 25.90112.
Peter Ehlers