On Mon, Sep 7, 2009 at 8:36 AM, Petr PIKAL<petr.pi...@precheza.cz> wrote: > Dear all > > Colleague of mine ask me if R is capable of Andrews plot like > andrewsplot(x) in Matlab. > > Quick search did not reveal anything but before I start to write any > routine I would like to ask this ingenious audience if there is any > implementation of Andrews plots somewhere.
Here's the code I use in the tourr package: #' Compute Andrews' curves #' #' This function takes a numeric vector of input, and returns a function which #' allows you to compute the value of the Andrew's curve at every point along #' its path from -pi to pi. #' #' @param x input a new parameter #' @return a function with single argument, theta #' #' @examples #' a <- andrews(1:2) #' a(0) #' a(-pi) #' grid <- seq(-pi, pi, length = 50) #' a(grid) #' #' plot(grid, andrews(1:2)(grid), type = "l") #' plot(grid, andrews(runif(5))(grid), type = "l") andrews <- function(x) { n <- length(x) y <- rep(x[1] / sqrt(2), length(t)) function(t) { for(i in seq(2, n, by = 1)) { val <- i %/% 2 * t y <- y + x[i] * (if(i %% 2 == 0) sin(val) else cos(val)) } y / n } } > I know about parallel coordinate plots in lattice (although I do not use > them as I am not sure what the plot tells me :-). If you don't understand parallel coordinates plots, I think you're going to find Andrew's curves even harder to understand. Hadley -- http://had.co.nz/ ______________________________________________ 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.