lyx_mirror/lib/examples/knitr.lyx
Scott Kostyshak f7928f48a6 More elegant knitr support and bug fix
Implement a more simple and elegant integration of the R package knitr. Now,
lyxknitr.R does not need to move or copy files at all.

This also fixes a bug: when /tmp was on a different file system (e.g.
encrypted home), lyxknitr.R failed to move files to /tmp because it relied on
R's 'file.rename' function, which in turn relied on the rename function in
<stdio.h>, which was failing with the EXDEV errno.

Patch from Yihui Xie.
2012-10-06 21:01:34 -04:00

247 lines
4.0 KiB
Plaintext

#LyX 2.1 created this file. For more info see http://www.lyx.org/
\lyxformat 424
\begin_document
\begin_header
\textclass article
\use_default_options true
\begin_modules
knitr
\end_modules
\maintain_unincluded_children false
\language english
\language_package default
\inputencoding auto
\fontencoding global
\font_roman palatino
\font_sans lmss
\font_typewriter lmtt
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize default
\spacing single
\use_hyperref false
\papersize default
\use_geometry true
\use_package amsmath 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 0
\use_package mhchem 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type numerical
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 1
\index Index
\shortcut idx
\color #008000
\end_index
\leftmargin 2.5cm
\topmargin 2.5cm
\rightmargin 2.5cm
\bottommargin 2.5cm
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header
\begin_body
\begin_layout Title
Using knitr with LyX
\end_layout
\begin_layout Author
Yihui Xie
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Department of Statistics, Iowa State University.
Email:
\begin_inset CommandInset href
LatexCommand href
name "xie@yihui.name"
target "xie@yihui.name"
type "mailto:"
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
The R (
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.r-project.org
\end_layout
\end_inset
) package
\series bold
knitr
\series default
is an alternative tool to Sweave based on a different design with more
features.
LyX has native support to Sweave since version 2.0.0, and the support to
\series bold
knitr
\series default
was also added since 2.0.3.
The usage is basically the same as the
\family sans
Sweave
\family default
module
\begin_inset Foot
status open
\begin_layout Plain Layout
read the LyX/Sweave manual from
\family sans
Help\SpecialChar \menuseparator
Specific Manuals
\end_layout
\end_inset
:
\end_layout
\begin_layout Enumerate
Open a new LyX document;
\end_layout
\begin_layout Enumerate
Go to
\family sans
Document\SpecialChar \menuseparator
Settings\SpecialChar \menuseparator
Modules
\family default
and insert the module named
\family sans
Rnw (knitr)
\family default
;
\end_layout
\begin_layout Enumerate
Then insert R code in the document with either
\family sans
Insert\SpecialChar \menuseparator
TeX Code
\family default
or the
\family sans
Chunk
\family default
environment;
\end_layout
\begin_layout Standard
The package website
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://yihui.name/knitr
\end_layout
\end_inset
has full documentation and demos of
\series bold
knitr
\series default
; many of the examples have links to the LyX source documents.
\end_layout
\begin_layout Standard
Note the
\series bold
knitr
\series default
package requires R >= 2.14.1, so you need to update R if you are using an
old version of R.
Here we show one chunk as a simple example:
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
<<show-off>>=
\end_layout
\begin_layout Plain Layout
rnorm(5)
\end_layout
\begin_layout Plain Layout
df=data.frame(y=rnorm(100), x=1:100)
\end_layout
\begin_layout Plain Layout
summary(lm(y~x, data=df))
\end_layout
\begin_layout Plain Layout
@
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Please contact the package author in case of any problems.
\end_layout
\end_body
\end_document