Re: [R] Counting question

From: Thomas Lumley <tlumley_at_u.washington.edu>
Date: Sat 31 Jul 2004 - 01:34:23 EST

On Fri, 30 Jul 2004, Adair, Laurence wrote:

> Hi All,
>
> Here is something that sounds simple, but I'm having trouble getting it. I
> have a data frame with two columns, the first is date and the second is
> employee ID. I'd like to plot date on the horizontal axis, employee ID on
> the vertical axis, and the number of times the employee appears for the
> given date as a color. I've kluged something where I make a table
> (table(date, id)) and add points to a plot by looping through the rownames
> (employee ids) of the table. But certainly there is a better way of doing
> this??
>

The function below takes a correlation matrix and plots circles whose radius is proportional to the absolute value of the correlation. Something along these lines would presumably work for your problem.

        -thomas

 shadedcorr <- function(mat, labels = colnames(mat)) {   n <- NCOL(mat)
  diag(mat) <- NA

  mat <- mat[, n:1]
  mat <- as.vector(mat)
  pos <- mat >= 0

  par(pty = "s", las = 2, mar = c(7, 7, 4, 4))   xy <- expand.grid(1:n, 1:n)
  plot(xy, type = "n", axes = FALSE, xlab = "", ylab = "",   xlim = c(0.5, n + 0.5), ylim = c(0.5, n + 0.5))   if (any(pos %in% TRUE))
  symbols(xy[, 1][pos], xy[, 2][pos], mat[pos]/2, bg = grey(0.8),   inches = FALSE, add = TRUE)
  if (any(pos %in% FALSE))
  symbols(xy[, 1][!pos], xy[, 2][!pos], -mat[!pos]/2, bg = grey(0.2),   inches = FALSE, add = TRUE)
  axis(2, n:1, labels)
  axis(1, 1:n, labels)
  invisible(NULL)
 }

R-help@stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Sat Jul 31 01:42:02 2004

This archive was generated by hypermail 2.1.8 : Wed 03 Nov 2004 - 22:55:22 EST