Hi, This is always a challenge with expressions vs calls, etc. grid.table expects an input that can be coerced into a matrix of unevaluated expressions. This seems to work,
info <- function(a,b){ grid.table(c(bquote(alpha==.(a)), bquote(beta==.(b))), parse=TRUE, # parse labels as expressions theme=theme.list( gpar.corefill=gpar(fill=NA, col=NA), # make bg transparent core.just="left") # justification of labels ) } xyplot(1~1, panel=function(...) info(0.1, 0.5) ) HTH, baptiste On 20 April 2011 07:52, Marius Hofert <m_hof...@web.de> wrote: > Dear guys, > > I'm almost there... how can I fix the final problems? > > Cheers, > > Marius > > PS: the "info" function is the one I will then try to call within splom... > > library(lattice) > library(gridExtra) > > ## trial 1 > info <- function(a,b){ > grid.table(as.expression(substitute(expression(alpha==alph, beta==bet), > list(alph=a, bet=b))), > parse=TRUE, # parse labels as expressions > theme=theme.list( > gpar.corefill=gpar(fill=NA, col=NA), # make bg transparent > core.just="left") # justification of labels > ) > } > xyplot(1~1, panel=function(...) info(0.1, 0.5) ) > > ## trial 2 > info <- function(a,b){ > grid.table(substitute(expression(alpha==alph, beta==bet), > list(alph=a, bet=b)), > parse=TRUE, # parse labels as expressions > theme=theme.list( > gpar.corefill=gpar(fill=NA, col=NA), # make bg transparent > core.just="left") # justification of labels > ) > } > xyplot(1~1, panel=function(...) info(0.1, 0.5) ) > > > > On 2011-04-19, at 21:39 , David Winsemius wrote: > >> >> On Apr 19, 2011, at 3:26 PM, baptiste auguie wrote: >> >>> I'm hoping to release a new version on CRAN soon; the broken state of >>> R-forge and my poor understanding of R CMD CHECK results have often >>> made me postpone action indefinitely. >> >> In this case the errors were all mine. I suppose an even earlier stage >> newbie than I might have problems not knowing that binary packages were not >> available on r-forge or in recognizing (eventually) that loaded old packages >> might prevent new versions from loading. Figuring out how to clear one >> package from all the various places they can reside is beyond my pay grade, >> so I just restart. Someone should write a flush.package function :-) >> >> -- >> david. >> >>> >>> Best, >>> >>> baptiste >>> >>> On 19 April 2011 22:32, David Winsemius <dwinsem...@comcast.net> wrote: >>>> I attempted , mostly with success to install following the directions in >>>> r-forge webpage. >>>> >>>> I did add type="source", since generally r-forge does not have compiled >>>> binaries and I did need to do it twice since I did not have `brew` >>>> installed >>>> under 2.13.0(beta). The loading of help seemed to be a problem which I >>>> initially assumed to be due to my being on a Mac running R 2.13.0(beta). >>>> When issuing ?gridExtra I get a help page that says: Error in fetch(key) : >>>> internal error -3 in R_decompress1 >>>> >>>> (I did not expect to ?gridExtra to work since I generally use >>>> help(package=gridExtra) for packages, but when i do that I get: >>>>> help(package=gridExtra) >>>> Error in formatDL(nm, txt, indent = max(nchar(nm, "w")) + 3) : >>>> incorrect values of 'indent' and 'width' >>>> >>>> Then I realized I was loading a new package on top of an old loaded package >>>> so I restarted R and none of the help errors returned. >>>> >>>> Nice text table. Should make this task a lot easier that the strategy I was >>>> about to suggest of doing some sort of superpose of multiple panel.text >>>> calls. >>>> >>>> -- >>>> David >>>> >>>> >>>> On Apr 19, 2011, at 1:19 AM, baptiste auguie wrote: >>>> >>>>> On 19 April 2011 17:06, Marius Hofert <m_hof...@web.de> wrote: >>>>>> >>>>>> Dear Baptiste, >>>>>> >>>>>> thanks for your answer. >>>>>> Unfortunately, I get the error "Error using packet 1 invalid 'times' >>>>>> argument" when executing your code. Hmm... not sure where the problem is. >>>>>> >>>>> >>>>> Oops, – sorry, my mistake. For this code to work you'll need a more >>>>> recent version of gridExtra than the one on CRAN. You can get it here: >>>>> http://code.google.com/p/gridextra/ >>>>> >>>>> baptiste >>>>> >>>>>> Cheers, >>>>>> >>>>>> Marius >>>>>> >>>>>> On 2011-04-19, at 24:03 , baptiste auguie wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> Does this help? >>>>>>> >>>>>>> library(gridExtra) >>>>>>> >>>>>>> my.title = function(expressions) { >>>>>>> grid.table(expressions, parse=TRUE, >>>>>>> theme=theme.list(gpar.corefill = gpar(fill = NA, col = NA), >>>>>>> core.just = "left")) >>>>>>> } >>>>>>> >>>>>>> e = expression(alpha,"text", italic(italic), >>>>>>> hat(beta), integral(f(x)*dx, a, b)) >>>>>>> >>>>>>> library(lattice) >>>>>>> >>>>>>> xyplot(1~1, panel=function(...) my.title(e) ) >>>>>>> >>>>>>> HTH, >>>>>>> >>>>>>> baptiste >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 19 April 2011 08:43, Marius Hofert <m_hof...@web.de> wrote: >>>>>>>> >>>>>>>> Dear expeRts, >>>>>>>> >>>>>>>> I would like to create a scatter plot matrix with splom(). The lower >>>>>>>> panel should >>>>>>>> contain some additional information about the samples shown in the >>>>>>>> upper panel >>>>>>>> plot, see the splom() call below. Now two questions came up: >>>>>>>> (1) The lower panels show "tau" and "alpha" on top of each other. How >>>>>>>> can I plot >>>>>>>> *three* expressions on top of each other? I tried several approaches >>>>>>>> (see the trials below), >>>>>>>> but couldn't manage to get this to work properly. >>>>>>>> (2) Is there the possibility to plot the two/three lines (containing >>>>>>>> "tau = ..", "alpha = ..") >>>>>>>> aligend according to the equality sign? >>>>>>>> >>>>>>>> Cheers, >>>>>>>> >>>>>>>> Marius >>>>>>>> >>>>>>>> >>>>>>>> library(lattice) >>>>>>>> >>>>>>>> f <- function(i,j) i+j >>>>>>>> >>>>>>>> U <- matrix(runif(3000), ncol=3) >>>>>>>> >>>>>>>> splom(U, >>>>>>>> superpanel=function(z, ...){ >>>>>>>> tau <- cor(U, method="kendall") >>>>>>>> df=data.frame(rows=as.vector(row(tau)), >>>>>>>> columns=as.vector(col(tau)), >>>>>>>> vals=as.vector(tau)) # data frame of row indices, column >>>>>>>> indices, and tau values >>>>>>>> df=subset(df,columns<rows) # subset for lower left triangle >>>>>>>> with(df,{ >>>>>>>> panel.text(x=rows, y=columns, >>>>>>>> >>>>>>>> labels=as.expression(unlist(lapply(1:length(vals), >>>>>>>> function(i) >>>>>>>> substitute(atop(tau==tau.,alpha==alpha.), >>>>>>>> list(tau.=vals[i], >>>>>>>> alpha.=round(vals[i],3)) ) ))) ) >>>>>>>> }) >>>>>>>> panel.pairs(z, upper.panel=panel.splom, >>>>>>>> lower.panel=function(...){}, ...) >>>>>>>> }) >>>>>>>> >>>>>>>> ## some minimal "trial" examples: >>>>>>>> plot(0,0,main=paste("alpha=1","\n","beta=2","\n","gamma=3",sep="")) >>>>>>>> plot(0,0,main=expression(atop(atop(alpha==1, beta==2), gamma==3))) >>>>>>>> plot(0,0,main=paste(expression(alpha==1),"\n",expression(beta==2),"\n", >>>>>>>> expression(gamma==3), sep="")) >>>>>>>> plot(0,0,main=substitute(paste(alpha==1,x,beta==2,x, >>>>>>>> gamma==3, sep=""), list(x="\n"))) >>>>>>>> plot(0,0,main=expression(cat(alpha==1, "\n", beta==2, "\n", gamma==3, >>>>>>>> sep=""))) >>>>>>>> plot(0,0,main=cat(expression(alpha==1), "\n", expression(beta==2), >>>>>>>> "\n", >>>>>>>> expression(gamma==3), sep="")) >>>>>>>> >>>>>>>> ______________________________________________ >>>>>>>> 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. >>>>>>>> >>>>>> >>>>>> >>>>> >>>>> ______________________________________________ >>>>> 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. >>>> >>>> David Winsemius, MD >>>> West Hartford, CT >>>> >>>> >> >> David Winsemius, MD >> West Hartford, CT >> > > ______________________________________________ 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.