從tibble的小插圖中,我發現可以通過options
在全局選項中進行一些更改來控制打印的外觀。但是,我沒有在R中找到這個選項的任何手冊。我甚至不知道可以將哪些字段添加到包的全局選項。所以,問題是:是否可以列出可以爲包設置的所有全局選項?
對於一個包,我們可以得到的字段列表(如tibble.print_max
,tibble.print_min
爲tibble
和BioC_mirror
爲utils
),可通過options
與R中知道擺在他們面前?
從tibble的小插圖中,我發現可以通過options
在全局選項中進行一些更改來控制打印的外觀。但是,我沒有在R中找到這個選項的任何手冊。我甚至不知道可以將哪些字段添加到包的全局選項。所以,問題是:是否可以列出可以爲包設置的所有全局選項?
對於一個包,我們可以得到的字段列表(如tibble.print_max
,tibble.print_min
爲tibble
和BioC_mirror
爲utils
),可通過options
與R中知道擺在他們面前?
由於缺乏必需的實踐(例如,在CRAN)對如何處理外部(甚至是內部的,據我可以告訴)封裝選項,也許是最普遍的做法是這樣的:
在CRAN mirror on GitHub上查找包裝。例如,這裏是tibble
。
在存儲庫中搜索「選項」以查找all references to "option" in the package's code。
通過這項搜索。需要一點敏銳的眼光才能知道要尋找什麼,但這是我學會了如何在主包幫助頁面(?"tibble-package"
)中列出所有tibble
的選項,因爲我找到了these lines與搜索。
如果您將repo克隆到您的機器並使用命令行工具(例如,
cd package_dir
grep option R/*
(這是相當類似上面,但啓用的grep
充分的靈活性)
只是爲了補充確認,這種做法使我在正確的地方爲data.table
和xtable
爲好。
可設置的選項的處理方式由程序包作者決定(無論它們是否包含在.Options
中,使它們隱藏等)。它看起來像蹣跚包有一個隱藏變量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"
作爲一個說明,我做
grep("op", ls(getNamespace("tibble"), all=TRUE), value=TRUE)
# [1] "op.tibble" "stopc" "tibble_opt"
,然後在這些項目尋找單獨找到op.tibble
。也許其他作者可能會做類似的事情。但是沒有定義包中的選項的一般規則。
另外'''tibble-package「'列出了這些。但是更普遍的問題是「給定一些隨機包'foo',我怎麼知道它有哪些'options'可用」 - 我不知道有一個一致的答案。 – MichaelChirico
@MichaelChirico - 不,因爲軟件包作者可以通過選項做任何他們想做的事情。 –
正確,這似乎不是最佳實踐......在探索新軟件包的功能時,它似乎是一件有用的事情......我們知道在哪裏可以找到所有的手冊頁,但如果選項可能會變得灰濛濛的他們不容易找到 – MichaelChirico