是否可以列出可以为包设置的所有全局选项?

mt1*_*022 4 r options package

tibble的插图中,我读到可以通过options控制打印外观在全局选项中进行一些更改.但是,我在R中找不到任何关于此选项的手册.我甚至不知道哪些字段可以添加到包的全局选项中.所以问题是:

对于一个包,我们可以获得一个字段列表(比如tibble.print_max,tibble.print_minfor tibbleBioC_mirrorfor utils),options在知道它们之前可以在R中设置它们吗?

Ric*_*ven 5

处理可设置选项的方式由包作者自行决定(是否包含它们.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
Run Code Online (Sandbox Code Playgroud)

因此,以下内容将为您提供包中可用选项的名称.

names(tibble:::op.tibble)
# [1] "tibble.print_max"      "tibble.print_min"     
# [3] "tibble.width"          "tibble.max_extra_cols"
Run Code Online (Sandbox Code Playgroud)

作为一个说明,我发现op.tibble

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

然后分别查看这些项目.也许其他作者可能会做类似的事情.但是在包中定义选项没有一般规则.


Mic*_*ico 5

鉴于缺乏必要的实践(例如,在CRAN上)如何处理外部(甚至内部,据我所知)包的选项,也许最通用的方法是这样的:

  1. 在GitHub上的CRAN镜像上找到包.例如,这是tibble.

  2. 在存储库中搜索"option",以查找包代码中对"option"的所有引用.

  3. 搜索一下.知道要查找的内容需要一点敏锐的眼光,但这就是我如何了解tibble主包帮助页面(?"tibble-package")中列出的所有选项,因为我在搜索中找到了这些行.

如果将repo克隆到您的机器并使用命令行工具,例如,步骤3可以更好地自动化

cd package_dir
grep option R/*
Run Code Online (Sandbox Code Playgroud)

(这与上面非常类似,但可以充分灵活grep)

只是为了补充确认,这种做法使我对正确的地方data.table,并xtable为好.