I've really been on a roll this week; the formula for the lines that I
presented was completely wrong.

But I'm glad I learned about mapply. I used this:

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

Tom!

On Thu, Apr 2, 2009 at 8:29 AM, r@quantide.com <r@quantide.com> wrote:

> May be:
>
> plot(c(-1, 1) , c(-1, 1), type = "n")
> n = 4
> a = rep(0, n)
> b = 1:n/n
>
>
> fun = function(i, a, b, col = 1 , ...) {
>   abline(a[i], b[i], col = col[i], ...)
> }
>
> lapply(1:n, fun, a=a, b=b, col = 1:n)
>
> Andrea
>
>
> 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
>>
>> ______________________________________________
>> 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.
>>
>>
>>
>
>

	[[alternative HTML version deleted]]


