R Language
R w LaTeX z knitr
Szukaj…
Składnia
- << nazwa-wewnętrznego-fragmentu-kodu, opcje ... >> =
# R Kod tutaj
@ - \ Sexpr {#R Kod tutaj}
- << read-external-R-file >> =
read_chunk ('r-file.R')
@
<< nazwa-zewnętrznego-fragmentu kodu, opcje ... >> =
@
Parametry
Opcja | Detale |
---|---|
Echo | (PRAWDA / FAŁSZ) - czy dołączyć kod źródłowy R do pliku wyjściowego |
wiadomość | (PRAWDA / FAŁSZ) - czy dołączać komunikaty z wykonania źródła R do pliku wyjściowego |
ostrzeżenie | (PRAWDA / FAŁSZ) - czy dołączyć ostrzeżenia z wykonania źródła R do pliku wyjściowego |
błąd | (PRAWDA / FAŁSZ) - czy dołączyć błędy z wykonania źródła R do pliku wyjściowego |
Pamięć podręczna | (TRUE / FALSE) - czy buforować wyniki wykonania źródła R. |
rys. szerokość | (numerycznie) - szerokość wykresu wygenerowanego przez wykonanie źródła R. |
rys. wysokość | (numerycznie) - wysokość wykresu wygenerowana przez wykonanie źródła R. |
Uwagi
Knitr to narzędzie, które pozwala nam przeplatać język naturalny (w postaci LaTeX) i kod źródłowy (w postaci R). Ogólnie rzecz biorąc, pojęcie przeplatania języka naturalnego i kodu źródłowego nazywa się programowaniem literackim . Ponieważ pliki knitr zawierają mieszankę LaTeX (tradycyjnie przechowywanych w plikach .tex) i R (tradycyjnie przechowywanych w plikach .R), wymagane jest nowe rozszerzenie pliku o nazwie R noweb (.Rnw). Pliki .Rnw zawierają mieszankę kodu LaTeX i R.
Knitr pozwala na generowanie raportów statystycznych w formacie PDF i jest kluczowym narzędziem do osiągnięcia badań nad odtwarzaniem .
Kompilowanie plików .Rnw do formatu PDF jest procesem dwuetapowym. Najpierw musimy wiedzieć, jak wykonać kod R i przechwycić dane wyjściowe w formacie zrozumiałym dla kompilatora LaTeX (proces zwany „wiązaniem”). Robimy to za pomocą pakietu knitr. Polecenie to pokazano poniżej, zakładając, że zainstalowałeś pakiet knitr :
Rscript -e "library(knitr); knit('r-noweb-file.Rnw')
Spowoduje to wygenerowanie normalnego pliku .tex (w tym przykładzie o nazwie r-noweb.tex), który można następnie przekształcić w plik PDF za pomocą:
pdflatex r-noweb-file.tex
R w lateksie z Knitr i uzewnętrznieniem kodu
Knitr to pakiet R, który pozwala nam mieszać kod R z kodem LaTeX. Jednym ze sposobów na osiągnięcie tego są zewnętrzne fragmenty kodu. Zewnętrzne fragmenty kodu pozwalają nam opracowywać / testować skrypty R w środowisku programistycznym R, a następnie dołączać wyniki do raportu. To potężna technika organizacyjna. To podejście pokazano poniżej.
# 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}
Korzystając z tego podejścia, przechowujemy nasz kod w osobnym pliku R, jak pokazano poniżej.
## 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 in Latex with Knitr and Inline Code Chunks
Knitr to pakiet R, który pozwala nam mieszać kod R z kodem LaTeX. Jednym ze sposobów na osiągnięcie tego są wbudowane fragmenty kodu. To apporach pokazano poniżej.
# 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 in LaTex with Knitr and Internal Code Chunks
Knitr to pakiet R, który pozwala nam mieszać kod R z kodem LaTeX. Jednym ze sposobów na osiągnięcie tego są wewnętrzne fragmenty kodu. To apporach pokazano poniżej.
# 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}