[R] xyplot key using grid.text

Nitin Jain nj7w at yahoo.com
Tue May 15 17:36:23 CEST 2007


Hello,


I am trying to print the lm 
coefficients using grid graphs (code below), and am getting all the coefficients 
on top of each other.

 

My aim is to put them as legend, 
showing both coefficients and mean values separated by colors as shown in 
xyplot.
 

testData <- data.frame(f1 = 
factor(rep(LETTERS[1:5], each = 20)),

                       f2 = 
factor(rep(letters[6:7], 50)),

                       x1 = 
rnorm(100, mean = 2, sd = 1),

                       x2 = 
rnorm(100, mean = 10, sd = 4),

                       x3 = 
rnorm(100, mean = 4, sd = 3),

                       y = (1:50) + 
rnorm(50, sd = 3) + rep(c(-2, 2), 50))

 

 

grid.newpage()

grps <- factor(testData[, 
"f2"])

xyplot( y ~ 
x1|f1,

       
groups=grps,

       panel=function(x, y, ...) 
{

         panel.superpose(x, y, 
...)

       
},

       panel.groups = function(x, y, 
...) {

         fit.lm <- 
lm(y~x)

         coef.fit <- 
round(coef(fit.lm)[-1], 2)

         avg.y <- round(mean(y), 
2)

         
panel.abline(fit.lm)

         panel.xyplot(x, y, 
...)

         ## Add lm 
coefficients:

         grid.text(x= unit(0.1, 
"npc"),

                   y= unit(seq(0.1, 
length= length(levels(grps)), by =0.1),

                     
"npc"),

                   label = 
paste(expression(beta), "=", coef.fit)

                
   ),
##     Add mean values: (note that "mu" is not shown as symbol)

grid.text(x= unit(0.1, 
"npc"),


                   y= unit(seq(0.9, 
length= length(levels(grps)), by =-0.1),


                     
"npc"),


                   label = 
paste(expression(mu), "=", avg.y)


                
   ),




       
},

       ##  Key 

       key = 
simpleKey(levels(grps),

         columns = 
2,

         space = 
"bottom",

         points = 
TRUE,

         lines = 
TRUE

         
),

       ## 
grid.legend()

       data= 
testData

     )

 



Thanks.

-NJ



      ____________________________________________________________________________________
Park yourself in front of a world of choices in alternative vehicles. Visit the Yahoo! Auto Green Center.



More information about the R-help mailing list