Re: [R] how to connect dots by passing NA

From: Rolf Turner <r.turner_at_auckland.ac.nz>
Date: Thu, 17 Apr 2008 14:20:00 +1200

On 17/04/2008, at 12:56 PM, DinoDragon wrote:

> This maybe a silly question. I'm trying to figure out a way to draw
> a line from a data set which contain NA. Say, I have a set of data as:
>
> x <- c(1.1 2.2 NA 4.4 5.5) ; y <- c(1:5) # as x,y of point a, b,
> c, d, and e.
>
> I would like to plot this to a line by using dot-line to connect
> the two
> adjacent points before and after the NA, something like: (a)______
> (b)......(d)______(e)

How's this?

foo <- function(x,y,...) {
plot(x,y,type="n",...)
na <- apply(cbind(x,y),1,function(x){any(is.na(x))})

f <- c(na[-1],FALSE)
x <- x[!na]
y <- y[!na]
f <- f[!na]
n <- length(x)
f <- f[-n]

segments(x[-n],y[-n],x[-1],y[-1],lty=ifelse(f,3,1)) }

set.seed(42)
x <- sort(runif(20))
y <- rnorm(20)
ix <- sample(1:20,3)
iy <- sample(1:20,3)
x[ix] <- NA
y[iy] <- NA
foo(x,y)

        cheers,

                Rolf Turner

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

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. Received on Thu 17 Apr 2008 - 04:05:56 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 17 Apr 2008 - 05:30:30 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive