當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R Rtangle Stangle 的 R 驅動程序


R語言 Rtangle 位於 utils 包(package)。

說明

一名司機Stangle提取R代碼塊。值得注意的是所有RtangleSetup()參數可以用作參數Stangle()稱呼。

用法

Rtangle()
RtangleSetup(file, syntax, output = NULL, annotate = TRUE,
             split = FALSE, quiet = FALSE, drop.evalFALSE = FALSE, ...)

參數

file

Sweave 源文件的名稱。參見 Sweave 對應參數的說明。

syntax

SweaveSyntax 的對象。

output

使用的輸出文件的名稱,除非split = TRUE:請參閱“詳細信息”。

annotate

邏輯或 function 。當為 true 時,默認情況下,代碼塊由指定代碼塊的名稱和行號的注釋行分隔。如果FALSE 則省略裝飾注釋。或者,annotate 可以是一個函數,請參閱“塊注釋”部分。

split

將每個代碼塊的輸出拆分為一個文件?

quiet

邏輯上抑製所有進度消息。

drop.evalFALSE

邏輯性;當為 false 時,默認情況下,所有帶有選項 eval = FALSE 的塊都會在輸出中被注釋掉;否則(drop.evalFALSE = TRUE)它們將被完全省略。

...

“支持的選項”中列出的其他選項的附加命名參數設置默認值。

細節

除非split = TRUE,輸出文件的默認名稱是basename(file)具有與 Sweave 語法相對應的擴展名(例如,‘淨水量', '斯特克斯') 取而代之 'R’。文件名"stdout""stderr"分別解釋為輸出和消息連接。

如果選擇拆分(包括文件中的選項),則每個塊都會寫入一個單獨的文件,其擴展名是‘engine’(默認為“.R’)。

請注意,此驅動程序不僅僅隻是逐字提取代碼塊,因為代碼塊可能會重複使用較早的塊。

塊注釋(annotate)

默認情況下 annotate = TRUE ,注釋是其中一種形式

###################################################
### code chunk number 3: viewport
###################################################

###################################################
### code chunk number 18: grid.Rnw:647-648
###################################################

###################################################
### code chunk number 19: trellisdata (eval = FALSE)
###################################################

使用塊標簽(如果存在,即在源中指定時)或文件名和行號。

annotate 可以是帶有形式參數 (options, chunk, output) 的函數,例如產生不太占主導地位的塊注釋;請參閱 Rtangle()$runcode 如何調用它而不是默認值。

支持的選項

Rtangle 支持以下代碼塊選項(括號中的值顯示默認值):

引擎:

字符串("R")。僅處理engine等於"R""S"的塊。

保留來源:

邏輯(TRUE)。如果keep.source == TRUE原始源被複製到文件中。否則,輸出解析後的源。

評估:

邏輯(TRUE)。如果是 FALSE ,則代碼塊將被複製但被注釋掉。

字首

如果 split = TRUE 使用。請參閱prefix.string

前綴.字符串:

一個字符串,默認是源文件的名稱(不帶擴展名)。如果塊沒有標簽,或者具有標簽和 prefix = TRUE ,則使用 split = TRUE 作為文件名的前綴。請注意,它用作文件名的一部分,因此需要可移植。

show.line.nos

邏輯(FALSE)。輸出是否應該用注釋來注釋,以顯示塊的第一個代碼行的行號?

例子

nmRnw <- "example-1.Rnw"
exfile <- system.file("Sweave", nmRnw, package = "utils")
## Create R source file
Stangle(exfile)
nmR <- sub("Rnw$", "R", nmRnw) # the (default) R output file name
if(interactive()) file.show("example-1.R")

## Smaller R source file with custom annotation:
my.Ann <- function(options, chunk, output) {
  cat("### chunk #", options$chunknr, ": ",
      if(!is.null(ol <- options$label)) ol else .RtangleCodeLabel(chunk),
      if(!options$eval) " (eval = FALSE)", "\n",
      file = output, sep = "")
}
Stangle(exfile, annotate = my.Ann)
if(interactive()) file.show("example-1.R")

Stangle(exfile, annotate = my.Ann, drop.evalFALSE=TRUE)
if(interactive()) file.show("example-1.R")

作者

Friedrich Leisch and R-core.

也可以看看

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

Sweave , RweaveLatex

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 R Driver for Stangle。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。