[R] lattice plot axis scaling

Alan S Barnett asb at mail.nih.gov
Wed Jul 18 20:23:10 CEST 2007


I want to generate a lattice plot of a multiple linear regression.  I'm
using the code:

xyplot(y ~ x1 + x2 | status, data=datam,
        xlab="Peak separation",ylab="G/W",main="G/W vs Fuzzy peak
separation: Threshold=1.8",
        groups=Fuzzy.gw.t.score>1.8,
	subset=(status %in%  c("control","patient","sibling")),
	panel=function(x,y,groups,subscripts,...){
	  panel.xyplot(x,y,groups=groups,subscripts=subscripts,...)
          panel.abline(tmp<<-lm(y~x),col = "light blue",lwd=2)
          panel.abline(tmp<<-rlm(y~x),col = "blue",lwd=2)
	  good.id<-groups[subscripts]
          fm <- rlm(y[good.id] ~ x[good.id])
          sm <- summary(fm)
          panel.abline(reg = fm)
          panel.abline(tmp1<<-lm(y[good.id]~x[good.id]),col =
"pink",lwd=2)
          panel.abline(tmp1<<-rlm(y[good.id]~x[good.id]),col =
"red",lwd=2)
          slope <- round(coef(fm)[2], 3)
          err <- round(sm$coefficients[4], 3)
          message("Click on desired location")
          panel.text(pos<<-grid.locator("native"), lab = paste("slope
=",slope,"+-",err),col="red")
          })
_______________________________________________________________
The problem is that x1 varies from 1-3, while x2 varies from 20-60.  The
output scales both independent variables the same, so all the data in
the y vs x1 plot are up against the left edge of the plot.  How do I
scale the x-axes separately?



More information about the R-help mailing list