Jan van der Laan
2011-Sep-15 12:16 UTC
[R] odfWeave: Combining multiple output statements in a function
What is the correct way to combine multiple calls to odfCat,
odfItemize, odfTable etc. inside a function?
As an example lets say I have a function that needs to write two
paragraphs of text and a list to the resulting odf-document (the real
function has much more complex logic, but I don't think thats
relevant). My first guess would be:
exampleOutput <- function() {
odfCat("This is the first paragraph")
odfCat("This is the second paragraph")
odfItemize(letters[1:5])
}
However, calling this function in my odf-document only generates the
last list as only the output of the odfItemize function is returned by
exampleOutput. How do I combine the three results into one to be
returned by exampleOutput?
I tried to wrap the calls to the odf* functions into a print statement:
exampleOutput2 <- function() {
print(odfCat("This is the first paragraph"))
print(odfCat("This is the second paragraph"))
print(odfItemize(letters[1:5]))
}
In another document this seemed to work, but in my current document
strange odf-output is generated.
Regards,
Jan
Max Kuhn
2011-Sep-15 14:47 UTC
[R] odfWeave: Combining multiple output statements in a function
There are examples in the package directory that explain this. On Thu, Sep 15, 2011 at 8:16 AM, Jan van der Laan <rhelp at eoos.dds.nl> wrote:> > What is the correct way to combine multiple calls to odfCat, odfItemize, > odfTable etc. inside a function? > > As an example lets say I have a function that needs to write two paragraphs > of text and a list to the resulting odf-document (the real function has much > more complex logic, but I don't think thats relevant). My first guess would > be: > > exampleOutput <- function() { > ? odfCat("This is the first paragraph") > ? odfCat("This is the second paragraph") > ? odfItemize(letters[1:5]) > } > > However, calling this function in my odf-document only generates the last > list as only the output of the odfItemize function is returned by > exampleOutput. How do I combine the three results into one to be returned by > exampleOutput? > > I tried to wrap the calls to the odf* functions into a print statement: > > exampleOutput2 <- function() { > ? print(odfCat("This is the first paragraph")) > ? print(odfCat("This is the second paragraph")) > ? print(odfItemize(letters[1:5])) > } > > In another document this seemed to work, but in my current document strange > odf-output is generated. > > Regards, > > Jan > > ______________________________________________ > R-help at 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. >-- Max