[R] problems with levelplot and contourplot

Sundar Dorai-Raj sundar.dorai-raj at pdf.com
Tue Oct 11 23:09:22 CEST 2005


Tom Lenaerts wrote:
> I have to correct my previous reply.
> 
> The changes you propose work The strange thing is that if I upload the 
> R-script to
> produce the plot from file using
> 
> source("/Users/tomlenaerts/Programming/ObjC/Tools/AllEE/build/EEcont.R")
> 
> The script does not work.
> 
> When I copy-past the script myself into the R-window and execute things 
> work ok.
> Any explanation for this?
> 

Yes. See FAQ 7.22.

--sundar

> Tom
> 
> ------------------------------------------------------------------------------------------------- 
> 
> Tom Lenaerts (tlenaert at ulb.ac.be) http://www.tomlenaerts.tk/
> Postdoc Researcher @ IRIDIA-Universite Libre de Bruxelles-Belgium
> Guest Professor @ DINF-Vrije Uiversiteit Brussel-Belgium
> On 11 Oct 2005, at 22:26, Sundar Dorai-Raj wrote:
> 
> 
> 
>     Tom Lenaerts wrote:
> 
>         Hello,
>         Using the following code i want to make a level or contourplot
>         of some data that I produced
>         library(grid);library(lattice);
> 
> 
>     No need to explicitly load "grid". This is done when attaching
>     "lattice". Also, you do not need any ";" at the end of any lines.
> 
>         mydata <- read.table("avgee.dat");
>         mymat <- as.matrix(mydata);
>         mymat <-t(mymat)
>         vals<-as.vector(mymat);
>         conc<-c(0.0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5);
>         a<- c(0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1,
>         2.5,5.0, 7.5,10, 25, 50, 75, 100);
>         grid<-expand.grid(x=conc, y=a);
>         levelplot(vals ~ conc * a, grid, region=TRUE, cuts=20);
> 
> 
>     Don't you mean
> 
>     levelplot(vals ~ x * y, grid, region=TRUE, cuts=20)
> 
>     Your data.frame "grid" has columns "x" and "y", not "conc" and "a".
> 
>         When I do this get a blank output window and the following warnings
>         Warning messages:
>         1: longer object length
>         is not a multiple of shorter object length in: is.na(x) | is.na(y)
>         2: longer object length
>         is not a multiple of shorter object length in: id.na | is.na(var)
>         3: longer object length
>         is not a multiple of shorter object length in: id & if
>         (is.shingle(var)) ((var >=
>         levels(var)[[cond.current.level[i]]][1]) &
>          >
>         I've examined this mailinglist and the web and tried the
>         examples other people suggested. They seem to work.
>         Yet, my code seems the same as
>         a <-1:10
>         b <-11:20
>         j <- rnorm(100)
>         grid<-expand.grid(a = a, b = b)
>         levelplot(j~a*b, grid)
>         (from a previous mail)
>         and it does not work.
>         Can anybody tell me what I'm doing wrong? Furthermore as you
>         ight notice the data in a is in log-scale so I want the y-axis
>         of the plot in logscale.
> 
> 
>     To print y in log-scale, add the following:
> 
>     levelplot(..., scale = list(y = list(log = TRUE)))
> 
>     HTH,
> 
>     --sundar
>




More information about the R-help mailing list