org-mode/existing_tools/RweaveOrg/testing.org

2.2 KiB

Sweave and org-mode

If you're reading a PDF version of this document, you should also look at testing.Rorg (the source file) and testing.org (the output of the Sweave process).

Keep in mind that one of the advantages of a block-based approach is using \texttt{C-'} to edit code in its native mode.

Use the Sweave package for latex formatting

Org allows us to issue commands to be included in \{LaTeX} export.

R blocks

The first argument to an R block when using Sweave is the label for that block.

Not all R blocks are printed. Sweave options allow the printing of the evaluated code, the output of the code, both, or neither.

R code that is not printed

R code that is printed

\begin{Schunk} \begin{Sinput} > c <- 4 \end{Sinput} \end{Schunk}

We can use block labels to embed blocks by reference (even if they weren't printed before).

R code that references other blocks

\begin{Schunk} \begin{Sinput} > a <- 3 > b <- 6 > c <- 4 > a + b + c \end{Sinput} \begin{Soutput} [1] 13 \end{Soutput} \end{Schunk}

Inline references to R data

We can evaluate R code inline.

Used in text

The value of a is 3.

Used in a table

a b c TOTAL
3 6 4 13

Single-line R commands

If we want a line of R code to be evaluated but not printed, there's a convenient shorthand. This only works for single lines of R code, but you can have more than one in a row.

Graphics

We use values defined elsewhere in the buffer to produce this graph. The new CAPTION and LABEL arguments work just fine.

\begin{Schunk} \begin{Sinput} > require(lattice) > print(xyplot(speed ~ dist, cars, panel = function(x, y, ...) { + panel.xyplot(x, y, ...) + panel.abline(h = a) + panel.abline(v = b) + })) \end{Sinput} \end{Schunk}

/tec/org-mode/src/commit/0e29fb360135f893c0c26c933d382871dec25056/existing_tools/RweaveOrg/testing-004.pdf