[R] Andrews plot

Petr PIKAL petr.pikal at precheza.cz
Mon Sep 7 16:04:42 CEST 2009


Thank you. 

hadley wickham <h.wickham at gmail.com> napsal dne 07.09.2009 15:50:03:

> On Mon, Sep 7, 2009 at 8:36 AM, Petr PIKAL<petr.pikal at 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.

As I said, the question was from my colleague. Maybe he knows what to 
expect from such plots. I just told him that I did not find any direct 
implementation but that it seems to me rather straightforward to make such 
a plot if I knew what shall be on x axis and on y axis.

Regards
Petr


> 
> Hadley
> 
> 
> -- 
> http://had.co.nz/




More information about the R-help mailing list