An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20080915/019f758f/attachment.pl>
How to plot a matrix of intervals
2 messages · Stacey Burrows, Hadley Wickham
On Mon, Sep 15, 2008 at 5:06 PM, Stacey Burrows <stacey.burrows at yahoo.ca> wrote:
Dear R-users,
I have some nonstandard data set which I would like to plot but don't know how to do it in R. The data is in a matrix where the rows represent samples and the columns represent locations. The entries of the matrix are 0's and 1's, where 1 represents an event and 0 represents a non-event. e.g.
aberrations <- matrix(rbinom(1000, 1, 0.8), nrow=20, ncol=50, dimnames=list(c(paste("sample",1:20,"")), c(1:50)))
In addition, consecutive 1's in a given sample represents intervals of events.
With this matrix I would like to produce a plot with the samples on the y-axis and the locations on the x-axis. A black dot should be plotted for any event and consecutive black dots should be connected by a line to represent intervals.
How can I produce such a plot in R?
Here's one approach:
install.packages("ggplot2")
library(reshape)
am <- melt(aberations)
am$value[am$value == 0] <- NA
library(ggplot2)
qplot(X2 * value, X1, data=am) + geom_path()
Converting the zeros to missing values means that when we multiply the
x position by value, it will be missing if the value is 0, causing
breaks in the lines and the absences of points. I think this same
basic approach will work for base graphics and lattice graphics too.
Hadley