[R] dotplot/Dotplot: connecting points within factor level across time

Deepayan Sarkar deepayan.sarkar at gmail.com
Tue Sep 19 01:23:57 CEST 2006


On 9/16/06, Benjamin Tyner <btyner at gmail.com> wrote:

> For each level of the factor in dotplot, I have time points I'd like to
> connect with a line. In the example below, 'x' represents a starting
> time and 'd' a duration, and I wish to connect 'x' to 'x+d'. Ordinarily
> I would use Dotplot from hmisc for this, but I have not been able to
> find a time class that Dotplot will allow. I can get lattice dotplot to
> put the points up, but I've not figured out how to connect them. Any
> suggestions?
>
> require(lattice)
> z<-data.frame(y=factor(letters),
>               x=structure(1:26,class=c("POSIXt","POSIXct"),tzone=""),
>               d=runif(26))
>
> # this puts the points, but does not connect them
> p<-dotplot(y~x+I(x+d),
>            data=z,
>            scales=list(x=list(format="%M:%S"))
>            )
>
> zh<-z
> zh$x<-as.numeric(zh$x)
> require(hmisc)
> # this connects them, but at the expense of the time info
> ph<-Dotplot(y~Cbind(x,x,x+d),
>             data=zh,
>             pch=" ")

If you can install packages from source, you could try installing

http://www.stat.wisc.edu/~deepayan/R/segplot_0.0-1.tar.gz

after which you could try:

--------------------

library(segplot)

segplot(y ~ x + (x+d), z,
        scales=list(x=list(format="%M:%S")))

segplot(y ~ x + (x+d), z,
        draw.bands = FALSE,
        scales=list(x=list(format="%M:%S")))

---------------------

I have been meaning to submit this to CRAN for a while, I haven't
because it's lacking a good example (I think I'll go ahead and submit
it anyway).

Deepayan



More information about the R-help mailing list