[R] "Groups" in XYPLOT

Thomas Colson tpcolson at ncsu.edu
Sun Mar 18 04:37:46 CET 2007


 Thanks for the warning:
Here is the link to the datasets, rather large at 2 and 5 mb. Another note
is that one set has more datapoints than the other, don't know if this can
be done with xyplot. 
http://www4.ncsu.edu/~tpcolson/coastcurvfreqs.txt
http://www4.ncsu.edu/~tpcolson/coastslopefreqs.txt

Thomas Colson, PhD
North Carolina State University
Department of Forestry and Environmental Resources
(919)673-8023
tpcolson at hotmail.com

Schedule: www4.ncsu.edu/~tpcolson   
-----Original Message-----
From: Andrew Robinson [mailto:A.Robinson at ms.unimelb.edu.au] 
Sent: Saturday, March 17, 2007 10:15 PM
To: Thomas Colson
Cc: r-help at stat.math.ethz.ch
Subject: Re: [R] "Groups" in XYPLOT

Hi Thomas,

sadly, the full code is not much help to us in the absence of the data.  Can
I suggest that you construct a reproducible worked example to help explain
your question?  For what it's worth I suspect that the answer is that you
need to join these datasets into one and theneitehr use the groups argument,
or the "+" protocol on the LHS of the plot formula.

Cheers

Andrew

On Tue, Mar 27, 2007 at 04:51:55PM -0500, Thomas Colson wrote:
> I'm not sure I'm barking up the right tree here, but would I need to 
> make use of groups to plot two separate datasets within ONE panel in 
> xyplot? The desired end result is a single xy plot of two separate 
> (but similar in values and ranges).
> 
> Full code follows, xyplot code at bottom
> 
> 
> 
> 
> 
> #########Determine Frequencies
> ##########coastal_slope
> #needs the maptools package to read ESRI grid
> require(maptools)
> #import the flow slope grid
> basin.map <- readAsciiGrid("C:/R_PLots/coastal_slp.asc", 
> colname="slope") basin_slope <- (basin.map$slope) #read the slopes 
> into a dataframe
> freqs<-as.data.frame(table(basin_slope))
> #rank the frequencies based on each unique occerence, note, ranks from 
> 1 to n
> r<-rank(freqs$basin_slope)
> n<-length(r)
> #determing the probability, n+1 insures there is no 100%, 1- reverses 
> the order so #low slopes gets high probability of exceedence 
> z<-cbind(Rank = r, PRank = 1-(r/(n+1))) #attach the probability to the 
> table, result is high prob of exceed is in row with low slope #and low 
> probabibility is in row with high slope freqs$rank<-z 
> write.table(freqs, "C:/R_PLots/coastslopefreqs.txt", sep=",", 
> col.names=TRUE, row.names=TRUE, quote=TRUE, na="NA")
> 
> ##########coastal_curvature
> #needs the maptools package to read ESRI grid
> require(maptools)
> #import the curvature grid
> basin.map <- readAsciiGrid("C:/R_PLots/coastal_crv.asc", 
> colname="curv") basin_curv <- (basin.map$curv) #read the curvs into a 
> dataframe
> freqs<-as.data.frame(table(basin_curv))
> #rank the frequencies based on each unique occerence, note, ranks from 
> 1 to n
> r<-rank(freqs$basin_curv)
> n<-length(r)
> #determing the probability, n+1 insures there is no 100%, 1- reverses 
> the order so #low curvature gets high probability of exceedence 
> z<-cbind(Rank = r, PRank = 1-(r/(n+1))) #attach the probability to the 
> table, result is high prob of exceed is in row with low curv #and low 
> probabibility is in row with high curv freqs$rank<-z 
> write.table(freqs, "C:/R_PLots/coastcurvfreqs.txt", sep=",", 
> col.names=TRUE, row.names=TRUE, quote=TRUE, na="NA")
> 
> 
> 
> 
> 
> ##############Make XYPLOT and export to ps coastcurv <- 
> read.table("C:/R_PLots/coastcurvfreqs.txt", header=TRUE, sep=",", 
> na.strings="NA", dec=".", strip.white=TRUE) 
> xyplot(coastcurv$rank.PRank~coastcurv$basin_curv,scales=list(y=list(lo
> g=TRUE
> ,at=c(.0001,.001,.01,.1,1)),x=list(log=TRUE,at=c(0.0001,0.001,0.01,0.1
> ,1,10)
> )),xlab="Curvature",ylab="P(C>C*)")
> dev.copy2eps(file="C:/R_PLots/coastcurv_cad.eps", width=8.0, 
> height=8.0,
> pointsize=10)
> 
> 
> ########How to get this in the first plot graphic?
> 
> coastslope <- read.table("C:/R_PLots/coastslopefreqs.txt", 
> header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE) 
> xyplot(coastslope$rank.PRank~coastslope$basin_slope,scales=list(y=list
> (log=T 
> RUE,at=c(.0001,.001,.01,.1,1)),x=list(log=TRUE,at=c(0.0001,0.001,0.01,
> 0.1,1,
> 10))),xlab="Slope",ylab="P(S>S*)")
> dev.copy2eps(file="C:/R_PLots/coastslope_cad.eps", width=8.0, 
> height=8.0,
> pointsize=10)
> 
> Thomas Colson, PhD
> North Carolina State University
> Department of Forestry and Environmental Resources
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide 
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

--
Andrew Robinson  
Department of Mathematics and Statistics            Tel: +61-3-8344-9763
University of Melbourne, VIC 3010 Australia         Fax: +61-3-8344-4599
http://www.ms.unimelb.edu.au/~andrewpr
http://blogs.mbs.edu/fishing-in-the-bay/



More information about the R-help mailing list