[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).
Deepayan
More information about the R-help
mailing list