struggling with R2wd or SWord? Try rtf!
I recently gave a talk to the Ottawa PC Users Group about Sweave, knitR and odfWeave. The last is sometimes cranky, but I've found I can use it for word-processing documents, and if these are saved in odt format (open office), then odfWeave can process them to "finalized" odt form. Recognize this isn't exactly the answer you sought, but possibly it is helpful. If there is interest, I can send the slides for the talk and some of the smaller examples (a couple are book length from knitR). JN
On 10/12/2012 06:00 AM, r-help-request at r-project.org wrote:
Message: 57
Date: Thu, 11 Oct 2012 14:26:15 -0500
From: Jean V Adams <jvadams at usgs.gov>
To: r-help at r-project.org
Subject: [R] struggling with R2wd or SWord? Try rtf!
Message-ID:
<OF44F33EF2.95339A09-ON86257A94.00697515-86257A94.006ACB54 at usgs.gov>
Content-Type: text/plain
I have been looking for a way to write R-generated reports to Microsoft
Word documents. In the past, I used the package R2wd, but for some reason
I haven't been able to get it to work on my current set up.
R version 2.15.0 (64-bit)
Windows 7 Enterprise - Service Pack 1
Microsoft Office Professional Plus 2010 - Word version
14.0.6123.5001 (32-bit)
I gave the package SWord a try, too. Also, no luck.
But, I just recently ran across the package rtf, and it serves my needs
quite well. Since some of you may find yourself in a similar situation, I
thought I'd spread the "word" (ha!) about rtf.
Below is some introductory code based on examples in
http://cran.r-project.org/web/packages/rtf/vignettes/rtf.pdf
Give it a try. You may like it!
Jean
`?.,, ><(((?> `?.,, ><(((?> `?.,, ><(((?>
Jean V. Adams
Statistician
U.S. Geological Survey
Great Lakes Science Center
223 East Steinfest Road
Antigo, WI 54409 USA
http://www.glsc.usgs.gov
library(rtf)
rtf <- RTF("rtf_vignette.doc", width=8.5, height=11, font.size=10,
omi=c(1, 1, 1, 1))
addHeader(rtf, title="This text was added with the addHeader() function.",
subtitle="So was this.")
addParagraph(rtf, "This text was added with the addParagraph() function.
It is a new self-contained paragraph. When Α is greater than
β, then γ is equal to zero.\n")
startParagraph(rtf)
addText(rtf, "This text was added with the startParagraph() and addText()
functions. You can insert ")
addText(rtf, "styled ", bold=TRUE, italic=TRUE)
addText(rtf, "text this way. But, you must end the paragraph manually
with the endParagraph() function.\n")
endParagraph(rtf)
increaseIndent(rtf)
addParagraph(rtf, paste(rep("You can indent text with the increaseIndent()
function.", 4), collapse=" "))
addNewLine(rtf)
decreaseIndent(rtf)
addParagraph(rtf, paste(rep("And remove the indent with the
decreaseIndent() function.", 4), collapse=" "))
addNewLine(rtf)
addNewLine(rtf)
addParagraph(rtf, "Table 1. Table of the iris data using the addTable()
function.\n")
tab <- table(iris$Species, floor(iris$Sepal.Length))
names(dimnames(tab)) <- c("Species", "Sepal Length")
addTable(rtf, tab, font.size=10, row.names=TRUE, NA.string="-",
col.widths=c(1, 0.5, 0.5, 0.5, 0.5) )
newPlot <- function() {
par(pty="s", cex=0.7)
plot(iris[, 1], iris[, 2])
abline(h=2.5, v=6.0, lty=2)
}
addPageBreak(rtf)
addPlot(rtf, plot.fun=newPlot, width=5, height=5, res=300)
addNewLine(rtf)
addParagraph(rtf, "Figure 1. Plot of the iris data using the addPlot()
function.\n")
addNewLine(rtf)
addNewLine(rtf)
addSessionInfo(rtf)
done(rtf)
[[alternative HTML version deleted]]
------------------------------