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


R options 選項設置


R語言 options 位於 base 包(package)。

說明

允許用戶設置和檢查各種全局選項這會影響其中的方式R計算並顯示其結果。

用法

options(...)

getOption(x, default = NULL)

.Options

參數

...

可以使用定義任何選項name = value。然而,隻有下麵的那些被用在基礎中R.

選項也可以通過給出單個未命名參數(即命名列表)來傳遞。

x

包含選項名稱的字符串。

default

如果選項列表中未設置指定的選項,則返回該值。這有助於檢索選項並檢查它是否已設置,如果沒有則單獨設置。

細節

不帶參數調用 options() 將返回包含選項當前值的列表。請注意,並非下麵列出的所有選項都是最初設置的。要訪問單個選項的值,應該使用例如 getOption("width") 而不是 options("width"),後者是長度為 1 的列表。

對於 getOption ,為選項 x 設置的當前值,如果未設置該選項,則為 default (默認為 NULL )。

對於 options() ,按名稱排序的所有設置選項的列表。對於 options(name) ,包含設置值的長度為 1 的列表,如果未設置,則為 NULL 。對於設置一個或多個選項的用途,會顯示一個包含已更改選項的先前值的列表(以不可見方式返回)。

基礎中使用的選項R

add.smooth

通常符合邏輯,默認為 TRUE 。也可以設置為一個整數,用於指定應添加多少(模擬)平滑。目前僅由 plot.lm 使用。

askYesNo

一個函數(通常由前端設置)以一致的方式詢問用戶二進製響應函數,或者 askYesNo 使用的字符串向量作為此類問題的默認響應。

browserNLdisabled

邏輯:是否在瀏覽器中禁用換行符作為 "n" 的同義詞。

checkPackageLicense

邏輯,默認情況下未設置。如果為 true,loadNamespace 會要求用戶在首次加載包時接受任何非標準許可證。

check.bounds

邏輯,默認為 FALSE 。如果為 true,則每當向量(原子或 list )通過類似 x <- 1:3; x[5] <- 6 之類的內容擴展時,就會生成 warning

CBoundsCheck

邏輯,控製 .C.Fortran 是否進行複製以檢查原子向量參數上的數組 over-runs。

最初根據環境變量的值設置R_C_BOUNDS_CHECK(設置yes啟用)。

conflicts.policy

控製對 libraryrequire 調用中發現的衝突的處理的字符串或列表。有關詳細信息,請參閱library

continue

一個非空字符串,設置用於連續一行的提示。

defaultPackages

默認附加的包R啟動。最初根據環境變量的值設置R_DEFAULT_PACKAGES,或者如果未設置為c("datasets", "utils", "grDevices", "graphics", "stats", "methods")。 (放R_DEFAULT_PACKAGESNULL或以逗號分隔的包名稱列表。)將其設置為‘.R配置文件' 文件,因為在讀取該文件之前會查閱其值。

deparse.cutoff

控製deparse 語言結構打印的整數值 d.默認60

deparse.max.lines

控製在進入設置了調試標誌的函數時在 browser 中進行解析時使用的行數,並且如果未設置選項 traceback.max.lines,則控製 traceback() 的行數。最初未設置,僅在設置為正整數時使用。

traceback.max.lines

控製在 traceback 中進行解析時使用的行數(如果設置)。最初未設置,僅在設置為正整數時使用。

digits

控製打印數值時要打印的有效位數(請參閱signif)。這隻是一個建議。有效值為 1...22,默認值為 7。請參閱 print.default 中有關大於 15 的值的注釋。

digits.secs

控製格式化時間值(以秒為單位)時要打印的最大位數。有效值為 0...6,默認值為 0(相當於 NULL,當它在普通啟動時未定義時使用)。請參閱strftime

download.file.extra

非默認方法的額外命令行參數:請參閱 download.file

download.file.method

用於 download.file 的方法。目前提供下載方法 "internal""wininet" (僅限 Windows)、 "libcurl""wget""curl" 。如果未設置,則選擇method = "auto":請參閱download.file

echo

合乎邏輯的。僅在非交互模式下使用,當它控製是否回顯輸入時。命令行選項--no-echo將其設置為FALSE,但否則它將啟動會話TRUE.

encoding

編碼的名稱,默認 "native.enc" 。請參閱connections

error

控製非災難性錯誤處理的函數或表達式,例如由stop以及信號和內部檢測到的錯誤。如果選項是函數,則生成對該函數的調用(不帶參數)作為表達式。默認情況下未設置該選項:請參閱stop對於那種情況下的行為。函數dump.framesrecover提供允許post-mortem調試的替代方案。請注意,這些需要指定為例如options(error = utils::recover)在啟動文件中,例如‘base Startup’。

expressions

對將要計算的嵌套表達式的數量設置限製。有效值為 25...500000,默認值為 5000。如果增加它,您可能還想啟動R具有更大的保護堆棧;看--max-ppsizeMemory。另請注意,您可能會因 C 堆棧溢出而導致段錯誤,並且在可能的操作係統上,您可能希望增加該錯誤。一旦達到限製,就會拋出錯誤。當前正在評估的號碼可以通過撥調用找到Cstack_info.

interrupt

如果不以其他方式處理中斷條件,則在用戶中斷時調用不帶參數的函數。

keep.parse.data

當內部存儲源代碼時(keep.source 為 TRUE),還存儲解析數據。然後可以使用 getParseData() 檢索解析數據並使用,例如用於字符串常量的拚寫檢查或語法突出顯示。該值僅在內部存儲源代碼時有效(請參閱keep.source)。默認為 TRUE

keep.parse.data.pkgs

至於keep.parse.data,僅在安裝軟件包時使用。默認為FALSE除非環境變量R_KEEP_PKG_PARSE_DATA被設定為yes。即使在壓縮之後,解析數據的空間開銷也可能很大,並且在加載包時會導致性能開銷。

keep.source

TRUE 時,函數(新定義或加載)的源代碼存儲在內部,允許將注釋保留在正確的位置。通過打印或使用 deparse(fn, control = "useSource") 檢索源代碼。

默認為 interactive() ,即 TRUE 用於交互使用。

keep.source.pkgs

至於keep.source,僅在安裝軟件包時使用。默認為FALSE除非環境變量R_KEEP_PKG_SOURCE被設定為yes.

matprod

一個字符串,選擇雙精度和複數向量的矩陣乘積 %*%crossprodtcrossprod 的實現:

"internal"

使用未優化的 3 循環算法,可以正確傳播NaNInf值與內部其他求和算法精度一致Rsum或者colSums(現在意味著它使用long double用於求和的累加器(如果可用並啟用),請參閱capabilities)。

"default"

使用 BLAS 來加速計算,但為了確保 NaNInf 值的正確傳播,它對可能包含 NaNInf 值的輸入使用未優化的 3 循環算法。當認為對性能有益時,"default" 可以無條件調用 3 循環算法,即不檢查輸入的 NaN /Inf 值。 3 循環算法(僅)使用 double 累加器進行求和,這與參考 BLAS 實現一致。

"blas"

無條件使用 BLAS,無需任何檢查,應極其謹慎使用。 BLAS 庫無法正確傳播 NaNInf 值,對於具有 NaN /Inf 值的輸入,結果可能未定義。

"default.simd"

是實驗性的,可能會在未來版本中刪除R。它提供與以下相同的行為"default",但檢查輸入是否包含NaN/Inf值在某些 SIMD 硬件上速度更快。在較舊的係統上,它可以正確運行,但可能比"default".

max.print

整數,默認為 99999printshow 方法可以利用此選項,將打印的信息量限製為(通常略小於)max.print 條目的順序。

OutDec

包含單個字符的字符串。在輸出轉換中用作小數點的首選字符,即在打印、繪圖、 formatformatCas.character 中,但在解析時或 sprintf 中不使用(有時在打印之前使用) 。

pager

file.show 用於顯示文本文件的命令,詳細信息取決於平台:

在類unix上

默認為‘base Rhome/bin/尋呼機’,這是一個運行環境變量指定的命令行的shell腳本PAGER其默認值是在配置時設置的,通常是less.

在 Windows 上

默認為 "internal" ,它使用類似於 GUI 控製台的尋呼機。另一種可能性是"console" 使用控製台本身。

可以是字符串或R函數,在這種情況下它需要接受參數(files, header, title, delete.file)對應於前四個參數file.show.

papersize

使用的默認紙張格式postscript;通過環境變量設置R_PAPERSIZER已啟動:如果未設置或無效,則默認依賴於平台

在類unix上

為從語言環境類別派生的值LC_PAPER,或者如果默認設置不可用R被建。

在 Windows 上

在美國和加拿大區域設置為 "a4""letter"

PCRE_limit_recursion

邏輯:grep(perl = TRUE) 和類似的內容是否應該限製匹配時允許的最大遞歸?僅與 PCRE1 和 PCRE2 <= 10.23 相關。

PCRE 可以構建為不使用遞歸堆棧(請參閱pcre_config),但它默認使用遞歸,遞歸限製為 10000000,這可能需要非常大的 C 堆棧:請參閱以下位置的討論https://www.pcre.org/original/doc/html/pcrestack.html。如果為 true,則使用以下方式減少限製R可用的 C 堆棧大小的估計(如果已知),否則為 10000。如果NA,僅當任何輸入字符串具有 1000 或更多字節時才會施加限製。當使用 PCRE 的 Just-in-Time 編譯器時,該限製不起作用。

PCRE_study

邏輯或整數:應該使用grep(perl = TRUE) 和類似的‘study’ 模式嗎?與要研究的模式匹配的最小字符串數的邏輯閾值或數字閾值(默認為 10 )。缺失值和負數被視為錯誤。 PCRE2(PCRE 版本 >= 10.00)會忽略此選項,PCRE2 沒有單獨的研究階段,並且模式會在可能的情況下自動優化。

PCRE_use_JIT

邏輯: grep(perl = TRUE)strsplit(perl = TRUE) 和類似的編譯器是否應該使用 PCRE 的 Just-In-Time 編譯器(如果可用)? (這僅適用於使用 PCRE1 研究的模式。)默認值:true。缺失值被視為錯誤。

pdfviewer

默認 PDF 查看器。默認值是從環境變量設置的R_PDFVIEWER,其中默認值

在類unix上

被設置時R已配置,並且

在 Windows 上

是完整路徑open.exe,一個實用程序提供R.

printcmd

使用的命令postscript用於印刷;通過環境變量設置R_PRINTCMDR已開始。這應該是一個期望輸入通過管道傳輸到‘標準輸入’或者給出一個文件名參數。通常設置為"lpr"在類似 Unix 的係統上。

prompt

用於的非空字符串R的提示;通常應以空白結尾(" ")。

rl_word_breaks

(僅限 Unix:)用於基於 readline 的終端接口。默認值" \t\n\"\\'`><=%;,|&{()}"

這是一組字符,用於將輸入行分解為用於完成對象和 file-name 的標記。那些不在運算符周圍使用空格的人可能更喜歡
" \t\n\"\\'`><=+-*%;,|&{()}"

save.defaultssave.image.defaults

請參閱save

scipen

整數。當決定以固定或指數表示法打印數值時要應用的懲罰。正值偏向於固定表示法,負值偏向於科學計數法:固定表示法將是首選,除非它比 scipen 數字更寬。

setWidthOnResize

一個合乎邏輯的。如果設置並且TRUE,R使用最近的命令在終端中運行readline庫將設置width調整終端大小時的選項。

showWarnCallsshowErrorCalls

一個合乎邏輯的。警告和錯誤消息是否應該顯示調用堆棧的摘要?默認情況下,錯誤調用顯示在非交互式會話中。

showNCalls

整數。控製在使用省略號之前調用序列必須有多長(以字節為單位)。默認為 50,應至少為 30 且不超過 500。

show.error.locations

是否應該打印錯誤的源位置?如果設置為 TRUE"top" ,則將打印堆棧最高的源位置(最近的調用)。 "bottom" 將打印堆棧上找到的最早調用的位置。

整數值可以選擇其他條目。值0 對應於"top",正值從那裏開始向下計數。值-1 對應於"bottom",負值從那裏開始計數。

show.error.messages

一個合乎邏輯的。是否應該打印錯誤消息?旨在與 try 或 user-installed 錯誤處理程序一起使用。

texi2dvi

由包 tools 中的函數 texi2dvitexi2pdf 使用。

僅限 UNIX 類:

啟動時從環境變量設置R_TEXI2DVICMD,它首先默認為環境變量的值TEXI2DVI,然後到設定的值R已安裝(完整路徑texi2dvi腳本(如果找到)。如果需要,可以將該環境變量設置為"emulation".

timeout

正整數。某些 Internet 操作的超時時間(以秒為單位)。默認 60(秒),但可以從環境變量設置R_DEFAULT_INTERNET_TIMEOUT。 (選項或變量的無效值將被靜默忽略:非整數數值將被截斷。)請參閱download.fileconnections.

topLevelEnvironment

請參閱topenvsys.source

url.method

字符串:url 的默認方法。通常未設置,相當於 "default" ,即 "internal"(Windows 上除外)。

useFancyQuotes

控製 sQuotedQuote 和渲染文本幫助中定向引號的使用(請參閱包 tools 中的 Rd2txt )。可以是 TRUEFALSE"TeX""UTF-8"

verbose

合乎邏輯的。應該R報告有關進展的額外信息?設置TRUE通過命令行選項--詳細.

warn

用於設置警告消息處理的整數值。如果 warn 為負,所有警告都會被忽略。如果 warn 為零(默認),則警告將被存儲,直到頂級函數返回。如果發出了 10 個或更少的警告信號,則會打印它們,否則會顯示一條消息,說明發出了多少個警告信號。創建一個名為 last.warning 的對象,並可以通過函數 warnings 打印該對象。如果 warn 為 1,則在發生警告時打印警告。如果warn為2(或更大,可強製為整數),則所有警告都會變成錯誤。

warnPartialMatchArgs

合乎邏輯的。如果為 true,則在參數匹配中使用部分匹配時發出警告。

warnPartialMatchAttr

合乎邏輯的。如果為 true,則在通過 attr 提取屬性時使用部分匹配時發出警告。

warnPartialMatchDollar

合乎邏輯的。如果為 true,則在 $ 使用部分匹配進行提取時發出警告。

warning.expression

一個R如果生成警告,則調用代碼表達式,替換標準消息。如果非空,則無論選項的值如何,都會調用它warn.

warning.length

設置錯誤和警告消息的截斷限製(以字節為單位)。非負整數,允許值為 100...8170,默認值為 1000。

nwarnings

warn = 0 時保留的警告數量限製,默認為 50。如果在收集消息時調用,這將丟棄消息。如果增加此限製,請注意當前的實現會為它們預先分配相當於命名列表的值,即不要將其增加到超過一百萬。

width

控製打印向量、矩陣和數組以及通過 cat 填充時使用的行上的最大列數。

除東亞語言外,列通常與字符相同。

如果您重新調整窗口大小,您可能需要更改此設置R正在運行。有效值為 10...10000,默認值通常為 80。(有效值的限製位於文件‘Print.h’並且可以通過重新編譯來改變R。) 一些R控製台在調整大小時會自動更改值。

請參閱示例base Startup一種從終端寬度自動設置此值的方法R已開始。

其中一些選項的“factory-fresh”默認設置是

add.smooth TRUE
check.bounds FALSE
continue "+ "
digits 7
echo TRUE
encoding "native.enc"
error NULL
expressions 5000
keep.source interactive()
keep.source.pkgs FALSE
max.print 99999
OutDec "."
prompt "> "
scipen 0
show.error.messages TRUE
timeout 60
verbose FALSE
warn 0
warning.length 1000
width 80

其他是從環境變量設置的或與平台相關的。

grDevices 包中設置的選項

如果尚未設置,這些將在加載包grDevices(或其命名空間)時設置。

bitmapType

(僅限 Unix,包括 macOS)字符。位圖設備的默認類型,例如 png 。在可用的係統上默認為"cairo",在可用的macOS 上默認為"quartz"

device

給出函數名稱或函數對象本身的字符串,調用時會為該會話創建默認類型的新圖形設備。對於交互式會話,此選項的值默認為普通屏幕設備(例如, X11windowsquartz ),在批量使用或屏幕不可用時為 pdf 。如果設置為設備名稱,則首先從全局環境(即通常的搜索路徑)查找該設備,然後在 grDevices 命名空間中查找。

交互式和非交互式會話中的默認值可通過環境變量進行配置R_INTERACTIVE_DEVICER_DEFAULT_DEVICE分別。

‘普通屏幕設備’的搜索邏輯是,這是windows在 Windows 上,以及quartz如果在 macOS 上可用(在控製台上運行,並編譯到構建中)。否則X11如果環境變量被使用DISPLAY已設置。

device.ask.default

合乎邏輯的。打開設備時默認為devAskNewPage("ask")

locatorBell

合乎邏輯的。 locatoridentify 中的選擇是否應該通過鈴聲確認?默認TRUE。至少在 X11windows 設備上受到尊重。

windowsTimeout

(Windows-only) 長度為 2 的整數向量,表示兩次(以毫秒為單位)。當啟用時,它們控製 windows 設備的 double-buffering:第一個是繪圖完成後的延遲(默認 100),第二個是連續繪圖期間的更新間隔(默認 500)。使用打開設備時的值。

包圖形使用的其他選項

max.contour.segments

正整數,如果不設置則默認為25000contourcontourLines 中單個輪廓線的段數限製。

包統計信息中設置的選項

如果尚未設置,這些將在加載包stats(或其命名空間)時設置。

contrasts

模型擬合中使用的默認 contrasts,例如 aovlm 。長度為 2 的字符向量,第一個給出要與無序因子一起使用的函數,第二個給出要與有序因子一起使用的函數。默認情況下,這些元素被命名為 c("unordered", "ordered") ,但這些名稱未使用。

na.action

在某些情況下處理缺失值(NA)的函數名稱,請參閱na.actionna.pass

show.coef.Pvalues

邏輯性,影響 P 值是否打印在係數匯總表中。請參閱printCoefmat

show.nls.convergence

從邏輯上講,是否應該打印 nls 收斂消息才能成功擬合?

show.signif.stars

從邏輯上講,星星應該打印在係數匯總表上嗎?請參閱printCoefmat

ts.eps

某些時間序列 (ts) 計算的相對容差。默認1e-05

ts.S.compat

合乎邏輯的。用於選擇 S 兼容性來繪製時間序列譜。請參閱 plot.spec 中參數 log 的說明。

包 utils 中設置(或使用)的選項

如果尚未設置,則在加載包 utils (或其命名空間)時將設置這些設置(除了 Ncpus )。

BioC_mirror

供使用的 Bioconductor 鏡像的 URLsetRepositories,例如默認‘⁠"https://bioconductor.org"⁠’或歐洲鏡像‘⁠“https://bioconductor.statistik.tu-dortmund.de”⁠’。可以通過設置chooseBioCmirror.

browser

要使用的 HTML 瀏覽器browseURL。這將設置 UNIX 上的默認瀏覽器或 Windows 上的非默認瀏覽器。或者,一個R以 URL 作為參數調用的函數。看browseURL了解更多詳情。

ccaddress

默認抄送: create.post 使用的地址(因此 bug.reporthelp.request )。可以是 FALSE""

citation.bibtex.max

默認1; citation 中的 bibentries ( bibentry ) 的最大數量,除了文本之外,還打印 bibtex 版本。

de.cellwidth

整數:數據編輯器 dataentry 中使用的單元格寬度(字符數)。如果未設置(默認)、0、負數或 NA ,則使用可變單元寬度。

demo.ask

demoask 參數的默認值。

editor

非空字符串或R設置默認文本編輯器的函數,例如editfile.edit。從環境變量設置EDITOR在 UNIX 上,或者如果未設置VISUAL或者vi。作為字符串,它應該指定外部命令的名稱或路徑。

example.ask

exampleask 參數的默認值。

help.ports

用於設置內部 HTTP 服務器端口的可選整數向量,請參閱 startDynamicHelp

help.search.types

help.search?? 搜索的默認文檔類型。

help.try.all.packages

help 參數的默認值。

help_type

help 參數的默認值,也用作 ? 的幫助類型。

help.htmlmath

Rd2HTMLtexmath 參數的默認值,控製 LaTeX-like 數學方程在 R 幫助頁麵中的顯示方式(如果啟用)。有用的值是 "katex" (相當於默認值 NULL )和 "mathjax" ;對於所有其他值,使用基本替換。

HTTPUserAgent

在 HTTP(S) 請求中用作“用戶代理”的字符串download.file,urlcurlGetHeaders, 或者NULL當發出沒有用戶代理標頭的請求時。默認為R (<version> <platform> <arch> <os>)除非‘⁠libcurl⁠’ 時使用libcurl/7.<xx>.<y>為了 '⁠libcurl⁠’正在使用的版本。

install.lock

邏輯:install.packages 應該使用per-directory 包鎖定嗎?對於 macOS 和 Windows 上的二進製安裝最有用,但可以在啟動文件中用於通過 R CMD INSTALL 進行源安裝。對於二進製安裝,也可以是字符串 "pkglock"

internet.info

使用 "internal""libcurl" 方法在 URL 下載等上打印的最低級別的信息。默認值為 2,用於失敗原因。設置為 1 或 0 以獲取更詳細的信息(對於 "internal" 方法,0 比 1 提供更多信息)。

install.packages.check.source

install.packages (並間接 update.packages )在支持二進製包的平台上使用。可能的值 "yes""no" ,未設置相當於 "yes"

install.packages.compile.from.source

使用者install.packages(type = "both")(並且間接地update.packages)在支持二進製包的平台上。可能的值為"never","interactive"(這意味著在交互使用中詢問和"never"批量使用)和"always"。默認值取自環境變量R_COMPILE_AND_INSTALL_PACKAGES,默認情況下"interactive"如果未設置。然而,install.packages使用"never"除非make找到程序,查詢環境變量MAKE.

mailer

create.post 使用的默認電子郵件方法,因此 bug.reporthelp.request

menu.graphics

邏輯:如果可用的話是否應該使用圖形菜單?默認為 TRUE 。目前適用於 select.listchooseCRANmirrorsetRepositories 以及從 help 中的多個(文本)幫助文件中進行選擇。

Ncpus

一個整數 ,在 install.packages 中使用,作為潛在並行安裝中使用的 cpu 數量的默認值,如 Ncpus = getOption("Ncpus", 1L) ,即,當未設置時相當於設置 1。

pkgType

要下載和安裝的默認包類型 - 請參閱 install.packages 。可能的值取決於平台

在 Windows 上

"win.binary""source""both" (默認)。

在 Unix 類係統上

"source"(CRAN macOS 版本之外的默認值)、"mac.binary""both"(CRAN macOS 版本的默認值)。 ( "mac.binary.el-capitan""mac.binary.mavericks""mac.binary.leopard""mac.binary.universal" 不再使用。)

"binary" 是本機二進製類型的同義詞(如果有的話); "both"install.packages 用於在源安裝和二進製安裝之間進行選擇。

repos

供使用的存儲庫 URL 的字符向量available.packages及相關函數。最初從“中標記為默認值的條目設置”存儲庫' 文件,其路徑可通過環境變量配置R_REPOSITORIES(將此設置為NULL在啟動時跳過初始化)。文件中的“factory-fresh”設置R.home("etc")c(CRAN="@CRAN@"),這個值會導致某些實用程序提示需要 CRAN 鏡像。為了避免這種情況,請設置 CRAN 鏡像,例如

local({
    r <- getOption("repos")
    r["CRAN"] <- "https://my.local.cran"
    options(repos = r)
})

在你的 'base Startup”,或使用個人“存儲庫' 文件。

請注意,您可以使用 setRepositories 為當前會話添加更多存儲庫(Bioconductor、R-Forge、RForge.net 等)。

SweaveHooksSweaveSyntax

請參閱Sweave

unzip

unzip 使用的字符串:外部程序unzip"internal" 的路徑。默認值(取決於平台)

在類 Unix 係統上

的值R_UNZIPCMD,設置在‘等/Renviron’到的路徑unzip在配置過程中找到命令,否則"".

在 Windows 上

當使用內部解壓縮代碼時為"internal"

並行包中設置的選項

如果尚未設置,這些將在加載包parallel(或其命名空間)時設置。

mc.cores

給出最大允許數量的整數額外的 R允許與當前進程並行運行R過程。默認為環境變量的設置MC_CORES如果設置。大多數使用此函數的應用程序都假設有一個限製2如果未設置。

僅在 Unix 上使用的選項

dvipscmd

給出在通過 PostScript 打印幫助頁(已棄用)off-line 時使用的命令的字符串。默認為 "dvips"

僅在 Windows 上使用的選項

warn.FPU

邏輯,默認情況下未定義。如果為 true,則隻要 dyn.load 修複被有問題的 DLL 損壞的控製字,就會生成 warning

注意

為了與 S 兼容,有一個可見對象 .Options,其值是包含當前 options() 的配對列表(無特定順序)。分配給它將會創建一個本地副本,並且不會更改原始副本。 (但是使用它比調用 options() 更快)。

設置為 NULL 的選項與不存在的選項沒有區別。

例子

op <- options(); utils::str(op) # op is a named list

getOption("width") == options()$width # the latter needs more memory
options(digits = 15)
pi

# set the editor, and save previous value
old.o <- options(editor = "nedit")
old.o

options(check.bounds = TRUE, warn = 1)
x <- NULL; x[4] <- "yes" # gives a warning

options(digits = 5)
print(1e5)
options(scipen = 3); print(1e5)

options(op)     # reset (all) initial options
options("digits")

## Not run: ## set contrast handling to be like S
options(contrasts = c("contr.helmert", "contr.poly"))

## End(Not run)

## Not run: ## on error, terminate the R session with error status 66
options(error = quote(q("no", status = 66, runLast = FALSE)))
stop("test it")

## End(Not run)

## Not run: ## Set error actions for debugging:
## enter browser on error, see ?recover:
options(error = recover)
## allows to call debugger() afterwards, see ?debugger:
options(error = dump.frames)
## A possible setting for non-interactive sessions
options(error = quote({dump.frames(to.file = TRUE); q()}))

## End(Not run)

  # Compare the two ways to get an option and use it
  # acconting for the possibility it might not be set.
if(as.logical(getOption("performCleanp", TRUE)))
   cat("do cleanup\n")

## Not run: 
  # a clumsier way of expressing the above w/o the default.
tmp <- getOption("performCleanup")
if(is.null(tmp))
  tmp <- TRUE
if(tmp)
   cat("do cleanup\n")

## End(Not run)

參考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

相關用法


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