当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R Sweave 自动生成报告


R语言 Sweave 位于 utils 包(package)。

说明

Sweave 提供了一个灵活的框架,用于混合文本和 R/S 代码以自动生成报告。基本思想是用其输出替换代码,以便最终文档仅包含文本和统计分析的输出:但是,也可以包含源代码。

用法

Sweave(file, driver = RweaveLatex(),
       syntax = getOption("SweaveSyntax"), encoding = "", ...)

Stangle(file, driver = Rtangle(),
        syntax = getOption("SweaveSyntax"), encoding = "", ...)

参数

file

Sweave 源文件的路径。请注意,可以在没有扩展名的情况下提供此函数,但仅当目录中恰好有一个基本名称与 file 匹配的 Sweave 文件时,该函数才会继续。

driver

实际的主力,(一个函数返回)一个名为list的五个函数;有关详细信息,请参阅 vignette("Sweave") 中的“Sweave 用户手册”第 5 节。

syntax

NULL 或类"SweaveSyntax" 的对象或带有其名称的字符串。请参阅“语法定义”部分。

encoding

file 的默认编码。

...

进一步的参数传递给驱动程序的设置函数。有关默认驱动程序的参数,请分别参阅 RweaveLatexSetupRtangleSetup

细节

Sweave 源文件包含标记语言(如 LaTeX)中的文本和R(或 S)代码。代码将被最终标记文件中的输出(文本或图形)替换。如果输入数据发生更改,则可以重新生成报告,并在生成报告的同一文件中记录代码以重现分析。

Sweave将文档和代码块(或其输出)合并到一个文档中。Stangle仅从 Sweave 文件中提取代码,创建R可以使用运行的源文件source。 (里面的代码\Sexpr{}语句被忽略Stangle.)

Stangle 只是 Sweave 的包装,指定不同的默认驱动程序。可以使用替代驱动程序,并由各种贡献的软件包提供。

环境变量SWEAVE_OPTIONS可用于覆盖驱动程序设置的初始选项:它应该是一组以逗号分隔的key=value项目,如将在“⁠\SweaveOpts⁠’文件中的声明。

如果未指定encoding(默认),非 ASCII 源文件必须包含以下形式的行

  \usepackage[foo]{inputenc}

(在哪里 '⁠foo⁠’通常是‘拉丁语1', '拉丁2', '⁠utf8⁠' 或者 '⁠cp1252⁠' 或者 '⁠cp1250⁠’) 或注释行

  %\SweaveUTF8

声明 UTF-8 输入(自 2018 年以来 pdfTeX 假定的默认编码),否则它们会给出错误。可以使用参数 encoding = "bytes" 完全关闭重新编码。

语法定义

Sweave 允许使用灵活的语法框架来标记文档和文本块。默认为 noweb-style 语法,也可以使用 LaTeX-style 语法作为替代。 (有关更多详细信息,请参阅用户手册。)

如果syntax = NULL(默认),则依次查阅可用语法对象,并在其extension组件与文件名匹配(作为正则表达式)时选择它们。提供了对象 SweaveSyntaxNoweb (带有 extension = "[.][rsRS]nw$" )和 SweaveSyntaxLatex (带有 extension = "[.][rsRS]tex$" ),但用户或包可以向其他对象提供与模式 SweaveSyntax.* 匹配的名称。

例子

testfile <- system.file("Sweave", "Sweave-test-1.Rnw", package = "utils")


## enforce par(ask = FALSE)
options(device.ask.default = FALSE)

## create a LaTeX file - in the current working directory, getwd():
Sweave(testfile)

## This can be compiled to PDF by
## tools::texi2pdf("Sweave-test-1.tex")

## or outside R by
##
## 	R CMD texi2pdf Sweave-test-1.tex
## on Unix-alikes which sets the appropriate TEXINPUTS path.
##
## On Windows,
##      Rcmd texify --pdf Sweave-test-1.tex
## if MiKTeX is available.

## create an R source file from the code chunks
Stangle(testfile)
## which can be sourced, e.g.
source("Sweave-test-1.R")


作者

Friedrich Leisch and R-core.

参考

Friedrich Leisch (2002) Dynamic generation of statistical reports using literate data analysis. In W. Härdle and B. Rönz, editors, Compstat 2002 - Proceedings in Computational Statistics, pages 575-580. Physika Verlag, Heidelberg, Germany, ISBN 3-7908-1517-9.

也可以看看

Sweave User Manual”,utils 包中的小插图。

RweaveLatexRtangle。例如,替代 Sweave 驱动程序位于包 weaver (Bioconductor)、 R2HTML ascii 中。

tools::buildVignette 使用 Sweave 或替代晕影处理引擎处理源文件。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Automatic Generation of Reports。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。