[R] lattice and several groups
Laurent Rhelp
laurentRhelp at free.fr
Wed Aug 30 23:50:45 CEST 2006
hadley wickham a écrit :
>> I would like to use the lattice library to show several groups on
>> the same graph. Here's my example :
>>
>> ## the data
>> f1 <- factor(c("mod1","mod2","mod3"),levels=c("mod1","mod2","mod3"))
>> f1 <- rep(f1,3)
>> f2 <- factor(rep(c("g1","g2","g3"),each=3),levels=c("g1","g2","g3"))
>> df <- data.frame(val=c(4,3,2,5,4,3,6,5,4),
>> x=rep(c(1,2,3),3),f1=f1,f2=f2)
>
>
> It's pretty easy to do this with ggplot:
>
> install.packages("ggplot", repos="http://ggobi.org/r/")
> library(ggplot)
> qplot(x, val, data=df, shape=f2, colour=f1)
>
> Hadley
>
>
Great, Hadley, but the code was not exactly the good one. The code below
works fine for me :
install.packages("ggplot", repos="http://ggobi.org/r/")
library(ggplot)
qplot(x, val, data=df, glyph=f1, col=f2)
In fact, my problem is to fit the data for every level of the f2 factor,
showing the levels of the f1 factor and that for several surveys .
Here's an example closer to my actual data :
## the data
n <- 18
x1 <- seq(1,n)
val1 <- -2*x1+50
val2 <- (-2*(x1-8)^2)+100
val3 <- (-2*(x1-8)^2)+50
y <- c(val1,val2,val3)
x <- rep(x1,3)
f1 <- rep(c("mod1","mod2","mod3"),each=n/3)
f1 <- rep(f1,3)
f2 <- rep(c("g1","g2","g3"),each=n)
df <- data.frame(x=x,y=y,f1=f1,f2=f2)
surveys <-
factor(c(rep("survey1",n*3),rep("survey2",n*3),rep("survey3",n*3)))
df <- rbind(df,df,df)
df <- data.frame(df,surveys=surveys)
#######################################################################
library(lattice)
para.liste <- trellis.par.get()
superpose.symbol <- para.liste$superpose.symbol
superpose.symbol$pch <- c(1,2,3)
trellis.par.set("superpose.symbol",superpose.symbol)
xyplot( y~x | surveys,
data=df,
group=f1,
auto.key=list(space="right")
)
xyplot( y~x | surveys ,
data=df,
type="l",
group=f2,
auto.key=list(space="right",points=FALSE,lines=TRUE)
)
Can I use the ggplot library ?
More information about the R-help
mailing list