Yes ... that's much better. RTFM, Bert. -- Bert
On Fri, Jan 18, 2013 at 7:57 AM, Raeanne Miller <raeanne.mil...@sams.ac.uk> wrote: > Hi Bert, > > Thanks for your answer - I've done a good bit of research in to panel > functions this afternoon, and they're starting to seem a *little* less > intimidating. I didn't know there was a panel.lines, so that's very helpful! > > Turns out that panel.loess has an argument 'horizontal', which when set to > 'TRUE' bases the smooth on the y axis, as opposed to the x. So by using a > panel function: > > panel.groups = function(x, y, ..., lty) { > panel.xyplot(x, y, ...) > panel.loess(x,y, horizontal=TRUE, lty=lty,...) > } > > in my call to xyplot, it seems I can get the smooth the way I want it, with > Depth on the y axis and abundance on the x axis. > > Hope that is useful for anyone else interested - and Bert, thanks again for > the swift reply! > > Raeanne > > -----Original Message----- > From: Bert Gunter [mailto:gunter.ber...@gene.com] > Sent: 18 January 2013 15:08 > To: Raeanne Miller > Cc: r-help@r-project.org > Subject: Re: [R] lattice: loess smooths based on y-axis values > > Reanne: > > > UNTESTED: > > I would reverse the xyplot call as xyplot(x~y,...) to get all axes set up > properly and then just write an explicit panel function using > loess() and predict.loess the "correct" way, e.g. as loess(y~x) to get the > (x,y) curve pairs to be plotted via panel.lines(y,x....). You will have to > make sure the pairs are ordered in decreasing x. > > This presumes familiarity with loess() and lattice panel functions, of > course. Deepayan's book is a comprehensive resource for the latter. > Murrell's also contains a less comprehensive but probably adequate overview. > -- If you need anything at all, that is. > > -- Bert > > > > On Fri, Jan 18, 2013 at 3:36 AM, Raeanne Miller <raeanne.mil...@sams.ac.uk> > wrote: >> Hi there, >> >> I'm using the lattice package to create an xy plot of abundance vs. depth >> for 5 stages of barnacle larvae from 5 species. Each panel of the plot >> represents a different stage, while different loess smoothers within each >> panel should represent different species. >> >> However, I would like depth to be on the y-axis and abundance to be on the >> x-axis, because this is more intuitive as an oceanographer. The smoothing >> curves would then represent the abundance profiles with depth of the larvae. >> I have tried just switching depth and abundance in the plot formula/coding, >> but this means that the loess smoother is based on averaging depth values >> for each abundance, which means that the curves give multiple possible >> abundances at each depth level. Rather, I would like the loess smooth to >> still be based on 'averaging' abundance at each depth. >> >> Essentially, I would like a mirror image of the plot from this code: >> >> ord<-order(Zoo_nocyp$Depth_m, decreasing=TRUE) >> xyplot(log10Ab[ord]~factor(-1*Depth_m[ord])|StageF[ord], >> data=Zoo_nocyp[Zoo_nocyp$log10Ab!="0" ,], >> type=c("p","smooth"), >> par.settings=list(strip.background=list(col="white"), >> fontzize=list(text=16,points=10), lty = 0), >> space=0, border=NA, >> col=c("blue","red","green","purple","orange"), >> stack=TRUE, groups=Zoo_nocyp$SpeciesF, >> key= >> list(title="Species", >> cex.title=1,text=list(c("BB","BC","CH","SB","VS")),space="right", >> rectangles=list(size=2, >> border="white",col=c("blue","red","green","purple","orange"))), >> xlab="depth (m)", ylab="log10 abundance", >> layout=c(2,3)) >> >> which is different to what you get when you switch log10Ab and Depth_m. >> >> Is there any way to specify the smoothers to be based on sequential y-axis >> values, rather than x? Or to get the mirror image of a plot? >> >> I can provide a dataset offline, for those interested. >> >> Thanks very much, >> >> Raeanne >> >> >> The Scottish Association for Marine Science (SAMS) is registered in Scotland >> as a Company Limited by Guarantee (SC009292) and is a registered charity >> (9206). SAMS has an actively trading wholly owned subsidiary company: SAMS >> Research Services Ltd a Limited Company (SC224404). All Companies in the >> group are registered in Scotland and share a registered office at Scottish >> Marine Institute, Oban Argyll PA37 1QA. The content of this message may >> contain personal views which are not the views of SAMS unless specifically >> stated. Please note that all email traffic is monitored for purposes of >> security and spam filtering. As such individual emails may be examined in >> more detail. >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@r-project.org 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. > > > > -- > > Bert Gunter > Genentech Nonclinical Biostatistics > > Internal Contact Info: > Phone: 467-7374 > Website: > http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm > The Scottish Association for Marine Science (SAMS) is registered in Scotland > as a Company Limited by Guarantee (SC009292) and is a registered charity > (9206). SAMS has an actively trading wholly owned subsidiary company: SAMS > Research Services Ltd a Limited Company (SC224404). All Companies in the > group are registered in Scotland and share a registered office at Scottish > Marine Institute, Oban Argyll PA37 1QA. The content of this message may > contain personal views which are not the views of SAMS unless specifically > stated. Please note that all email traffic is monitored for purposes of > security and spam filtering. As such individual emails may be examined in > more detail. -- Bert Gunter Genentech Nonclinical Biostatistics Internal Contact Info: Phone: 467-7374 Website: http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm ______________________________________________ R-help@r-project.org 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.