R Language
R i LaTeX med stickad
Sök…
Syntax
- << intern-kod-bit-namn, alternativ ... >> =
# R-kod här
@ - \ Sexpr {#R Code Here}
- << läs-extern-R-fil >> =
read_chunk ( 'r-file.R')
@
<< extern kod-bit-namn, alternativ ... >> =
@
parametrar
Alternativ | detaljer |
---|---|
eko | (TRUE / FALSE) - om R-källkoden ska inkluderas i utdatafilen |
meddelande | (TRUE / FALSE) - om meddelanden från R-källkörningen ska inkluderas i utdatafilen |
varning | (TRUE / FALSE) - huruvida varningar från R-källkörningen ska inkluderas i utdatafilen |
fel | (TRUE / FALSE) - om fel från R-källkörningen ska inkluderas i utdatafilen |
cache | (TRUE / FALSE) - huruvida resultaten av R-källkörningen ska cache |
fig.width | (numerisk) - bredden på tomten som genereras av R-källkörningen |
fig.height | (numerisk) - höjden på tomten som genereras av R-källkörningen |
Anmärkningar
Knitr är ett verktyg som gör att vi kan väva in naturligt språk (i form av LaTeX) och källkod (i form av R). I allmänhet kallas konceptet att sammanföra naturligt språk och källkod litterat programmering . Eftersom knitr-filer innehåller en blandning av LaTeX (traditionellt inrymt i .tex-filer) och R (traditionellt inrymt i .R-filer) krävs en ny filändelse som heter R noweb (.Rnw). .Rnw-filer innehåller en blandning av LaTeX och R-kod.
Knitr möjliggör generering av statistiska rapporter i PDF-format och är ett viktigt verktyg för att uppnå reproducerbar forskning .
Kompilering av .Rnw-filer till en PDF är en tvåstegsprocess. Först måste vi veta hur man kör R-koden och fångar utdata i ett format som en LaTeX-kompilator kan förstå (en process som kallas 'stickning'). Vi gör detta med strikpaketet. Kommandot för detta visas nedan, förutsatt att du har installerat knitr-paketet :
Rscript -e "library(knitr); knit('r-noweb-file.Rnw')
Detta genererar en normal .tex-fil (kallas r-noweb.tex i detta exempel) som sedan kan förvandlas till en PDF-fil med:
pdflatex r-noweb-file.tex
R i Latex med Knitr och kodeksternalisering
Knitr är ett R-paket som gör att vi kan blanda R-kod med LaTeX-kod. Ett sätt att uppnå detta är externa kodbitar. Externa kodbitar ger oss möjlighet att utveckla / testa R-skript i en R-utvecklingsmiljö och sedan inkludera resultaten i en rapport. Det är en kraftfull organisationsteknik. Denna strategi visas nedan.
# r-noweb-file.Rnw
\documentclass{article}
<<echo=FALSE,cache=FALSE>>=
knitr::opts_chunk$set(echo=FALSE, cache=TRUE)
knitr::read_chunk('r-file.R')
@
\begin{document}
This is an Rnw file (R noweb). It contains a combination of LateX and R.
One we have called the read\_chunk command above we can reference sections of code in the r-file.R script.
<<Chunk1>>=
@
\end{document}
När vi använder denna metod behåller vi vår kod i en separat R-fil som visas nedan.
## r-file.R
## note the specific comment style of a single pound sign followed by four dashes
# ---- Chunk1 ----
print("This is R Code in an external file")
x <- seq(1:10)
y <- rev(seq(1:10))
plot(x,y)
R i Latex med Knitr och Inline Code Chunks
Knitr är ett R-paket som gör att vi kan blanda R-kod med LaTeX-kod. Ett sätt att uppnå detta är inline kodbitar. Denna apporach visas nedan.
# r-noweb-file.Rnw
\documentclass{article}
\begin{document}
This is an Rnw file (R noweb). It contains a combination of LateX and R.
<<my-label>>=
print("This is an R Code Chunk")
x <- seq(1:10)
@
Above is an internal code chunk.
We can access data created in any code chunk inline with our LaTeX code like this.
The length of array x is \Sexpr{length(x)}.
\end{document}
R i LaTex med Knitr och Internal Code Chunks
Knitr är ett R-paket som gör att vi kan blanda R-kod med LaTeX-kod. Ett sätt att uppnå detta är interna kodbitar. Denna apporach visas nedan.
# r-noweb-file.Rnw
\documentclass{article}
\begin{document}
This is an Rnw file (R noweb). It contains a combination of LateX and R.
<<code-chunk-label>>=
print("This is an R Code Chunk")
x <- seq(1:10)
y <- seq(1:10)
plot(x,y) # Brownian motion
@
\end{document}