Поиск…


Синтаксис

  1. << internal-code-chunk-name, options ... >> =
    # R Code Here
    @
  2. \ Sexpr {#R Code Here}
  3. << read-external-R-file >> =
    read_chunk ( 'г-file.R')
    @

    << external-code-chunk-name, options ... >> =
    @

параметры

вариант подробности
эхо (TRUE / FALSE) - включить ли исходный код R в выходной файл
сообщение (TRUE / FALSE) - включить ли сообщения из выполнения R-источника в выходной файл
предупреждение (TRUE / FALSE) - включить ли предупреждения из выполнения R-источника в выходной файл
ошибка (TRUE / FALSE) - включить ли ошибки из выполнения R-источника в выходной файл
кэш (TRUE / FALSE) - следует ли кэшировать результаты выполнения R-источника
fig.width (числовой) - ширина графика, сгенерированного при выполнении R-источника
fig.height (числовой) - высота графика, сгенерированного при выполнении R-источника

замечания

Knitr - это инструмент, который позволяет нам переплетать естественный язык (в виде LaTeX) и исходный код (в форме R). В общем, концепция перемежающегося естественного языка и исходного кода называется грамотным программированием . Поскольку файлы knitr содержат смесь LaTeX (традиционно размещенную в .tex-файлах) и R (традиционно размещенную в .R-файлах), требуется новое расширение файла R noweb (.Rnw). Файлы .Rnw содержат смесь LaTeX и R-кода.

Knitr позволяет создавать статистические отчеты в формате PDF и является ключевым инструментом для достижения воспроизводимых исследований .

Компилирование файлов .Rnw в PDF - это двухэтапный процесс. Во-первых, нам нужно знать, как выполнить код R и отобразить вывод в формате, который может понять компилятор LaTeX (процесс называется «kniting»). Мы делаем это, используя пакет knitr. Команда для этого показана ниже, если вы установили пакет knitr :

Rscript -e "library(knitr); knit('r-noweb-file.Rnw')

Это приведет к созданию нормального файла .tex (например, r-noweb.tex в этом примере), который затем можно преобразовать в файл PDF, используя:

pdflatex r-noweb-file.tex

R в латексе с нарушением ввода текста Knitr и кода

Knitr - это R-пакет, который позволяет нам смешивать R-код с кодом LaTeX. Один из способов добиться этого - это внешние куски кода. Внешние фрагменты кода позволяют нам разрабатывать / тестировать R-скрипты в среде разработки R, а затем включать результаты в отчет. Это мощный организационный метод. Этот подход показан ниже.

# 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}

При использовании этого подхода мы сохраняем наш код в отдельном файле R, как показано ниже.

## 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 в латексе с кусками Knitr и Inline Code

Knitr - это R-пакет, который позволяет нам смешивать R-код с кодом LaTeX. Один из способов добиться этого - встроенные фрагменты кода. Это утверждение показано ниже.

# 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 в LaTex с Knitr и внутренними кодовыми фрагментами

Knitr - это R-пакет, который позволяет нам смешивать R-код с кодом LaTeX. Один из способов добиться этого - внутренние куски кода. Это утверждение показано ниже.

# 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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow