簡體   English   中英

是否可以列出可以為包設置的所有全局選項?

[英]Is it possible to list all the global options that can be set for a package?

tibble的插圖中,我讀到可以通過控制打印外觀的options在全局選項中進行一些更改。 但是,我在R中找不到任何關於此選項的手冊。我甚至不知道哪些字段可以添加到包的全局選項中。 所以問題是:

對於一個包,我們可以得到的字段(如列表tibble.print_maxtibble.print_mintibbleBioC_mirrorutils ),可以通過設置options與R中知道他們面前?

處理可設置選項的方式由包作者自行決定(是否將它們包含在.Options ,隱藏它們等)。 它看起來像tibble包有一個隱藏的變量op.tibble ,其中顯示可用的選項。

tibble:::op.tibble
# $tibble.print_max
# [1] 20
# 
# $tibble.print_min
# [1] 10
#
# $tibble.width
# NULL
#
# $tibble.max_extra_cols
# [1] 100

因此,以下內容將為您提供包中可用選項的名稱。

names(tibble:::op.tibble)
# [1] "tibble.print_max"      "tibble.print_min"     
# [3] "tibble.width"          "tibble.max_extra_cols"

作為一個說明,我發現了op.tibble

grep("op", ls(getNamespace("tibble"), all=TRUE), value=TRUE)
# [1] "op.tibble"  "stopc"      "tibble_opt"

然后分別查看這些項目。 也許其他作者可能會做類似的事情。 但是在包中定義選項沒有一般規則。

鑒於缺乏必要的實踐(例如,在CRAN上)如何處理外部(甚至內部,據我所知)包的選項,也許最通用的方法是這樣的:

  1. 在GitHub上的CRAN鏡像上找到包。 例如,這是tibble

  2. 在存儲庫中搜索“option”,以查找包代碼中對“option”的所有引用

  3. 搜索一下。 知道要查找的內容需要一點敏銳的眼光,但這就是我如何了解所有tibble的選項都列在主包幫助頁面上( ?"tibble-package" ),因為我找到了這些行隨着搜索。

如果將repo克隆到您的機器並使用命令行工具,例如,步驟3可以更好地自動化

cd package_dir
grep option R/*

(這與上面的內容非常相似,但是可以實現grep的完全靈活性)

只是為了進一步確認,這種方法使我成為了data.tablextable的合適位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM