Rolf Turner wrote:

On 2/04/2009, at 7:04 AM, Thomas Levine wrote:

I really want to do this:

abline(
a=tan(-kT*pi/180),
b=kY-tan(-kT*pi/180)*kX
)

where kX,kY and kT are vectors of equal length. But I can't do that
with abline unless I use a loop, and I haven't figured out the least
unelegant way of writing the loop yet. So is there a way to do this
without a loop?

Or if I am to resort to the loop, what's the best way of doing it
considering that I have some missing data? Here's the mess that I
wrote.

converge <- na.omit(data.frame(kX,kY,kT))
for (z in (length(converge$kT)))
{abline(
a=tan(converge$kT[z]*pi/180),
b=converge$kY[z]-tan(-converge$kT[z]*converge$kX[z]*pi/180)
)}

I think the missing data are causing the problem; this happens when I run:

Error in int_abline(a = a, b = b, h = h, v = v, untf = untf, ...) :
  'a' and 'b' must be finite

The help for abline explicitly states that a and b must be ``single values'';
so no vectorization appears to be possible, as abline is currently written.
Hence you are stuck with a for-loop.

There appears to be nothing wrong with the for-loop that you've written,
at first blush at least.


Or use mapply(). Untested:

mapply(abline, tan(converge$kT * pi / 180),
       converge$kY - tan(-converge$kT * converge$kX * pi / 180))

Uwe Ligges




There won't be NAs in ``converge'' since you've very cleverly used na.omit.
So ``missing data'' are NOT the problem.

The problem is then (probably) that some of your data are yielding infinite
values of tan().

***Look*** at the values in converge.  ***Look*** at the values of a and b
produced in your loop and see where you're getting infinite values.

    cheers,

        Rolf Turner

######################################################################
Attention:\ This e-mail message is privileged and confid...{{dropped:9}}

______________________________________________
R-help@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.

______________________________________________
R-help@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.

Reply via email to