[R] Combining numeric vs numeric & numeric vs factor graphs into one ps/pdf file

Deepayan Sarkar deepayan at stat.wisc.edu
Wed May 4 04:59:21 CEST 2005

On Tuesday 03 May 2005 10:44, Arenas, David R.  CIV NAVAIR DEPT wrote:
> Dear R community,
> My previous email was incomplete because I used html format.  Here it
> is again and sorry for any inconvenience:
> xyplot (lattice) has been great in displaying tons of data for my
> research.  I have used the following two xyplot commands (with
> example dataframe) to create two separate postscript/pdf files with
> respect to the variable "acft" and subset "status":
> test.df <- data.frame(acft=factor(c("A","B","C","D")),
> status=factor(c("fail","pass","fail","pass")),
> site=factor(c("E1","E1","E2","E2")), CD=as.numeric(c(1,1,3,3)),
>                               H=as.numeric(c(80,NA,60,NA)))
> xyplot(H ~ CD | acft,
>           data=test.df,
>           subset=status=="fail",
>           layout=c(1,1) )
> xyplot(site ~ CD | acft,
>           data=test.df,
>           subset=status=="pass",
>           layout=c(1,1) )
>  I would like to combine all graphs into one file in alphabetical
> order of variable "acft".  The graphs would be one per page where in
> fact I use layout=c(1,1) for the nice and easily seen strip labels
> for "acft".  The problem I am having is combining x-y plots that are
> numeric vs numeric & numeric vs factor.  I have search the R-help
> archives and R-project references for an example to no avail.  I am
> thinking I may have to use something (lattice or not) like ...
> if any(test.df$Status=="fail")
> plot(H ~ CD)
> else
> plot(site ~ CD)
> with "for" in the beginning to loop through all data with respect to
> acft.  I need a hint on how to further this along.  I am using
> R.2.1.0 via Windows XP.

I can't think of a clean way to do this. You could of course do 

xyplot(ifelse(status == "pass", as.numeric(site), H) ~ CD| acft,
       data=test.df, scales = "free",
       layout=c(1,1) )

but this wouldn't give very nice axis labels for the factor (unless you 
specify them manually, which could be done).


More information about the R-help mailing list