R Sweave: поместить весь код файла .Rnw в приложение? - PullRequest
0 голосов
/ 20 сентября 2019

Я только что нашел эту удивительную технику , чтобы поместить код, использованный в файле .Rmd, в приложение (того же файла).

Однако я использую R Sweave, а не R Markdown, и я хотел бы знать, существует ли подобный способ поместить весь код в конец в уникальный фрагмент.Код для этого в Markdown не работает в Sweave.Я уточняю, что, в отличие от этого поста , у меня нет отдельного файла .R, где производятся вычисления.Все делается в файле .Rnw.

Кто-нибудь знает, как это сделать?

Редактировать : воспроизводимый пример

\documentclass[11pt, twocolumn]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\begin{document}
\SweaveOpts{concordance=TRUE}

<<reg2, echo=FALSE, print=FALSE>>=
head(mtcars)
@

<<reg3, echo=FALSE, print=FALSE>>=
head(iris)
@

\section*{Appendix}
% the place where I could like to put the whole code

\end{document}

1 Ответ

1 голос
/ 20 сентября 2019

Этот блок работает для включения кода:

<<echo=FALSE, eval=TRUE>>=
filename <- tempfile(fileext=".R")
Stangle("test.Rnw", output = filename, quiet = TRUE)
cat(readLines(filename), sep = "\n")
@

Когда я включаю это в ваш файл примера, я вижу это:

screenshot

Я думаю, что возможно немного изменить формат;см. ?Rtangle для некоторых деталей.Подобные вещи возможны с knitr, но это более гибко.Я подозреваю, что лучший метод будет похож на тот, который вы нашли для RMarkdown.

...