mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-23 05:25:26 +00:00
f7928f48a6
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.
247 lines
4.0 KiB
Plaintext
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
|