Sök…


Syntax

  1. << intern-kod-bit-namn, alternativ ... >> =
    # R-kod här
    @
  2. \ Sexpr {#R Code Here}
  3. << 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}


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow