An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/r-help/attachments/20050503/1e40e11b/attachment.pl
Combining numeric vs numeric & numeric vs factor graphs into one ps/pdf file
2 messages · Arenas, David R. CIV NAVAIR DEPT, Deepayan Sarkar
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