R 包描述中的Collate字段

R 包描述中的Collate字段,r,package,R,Package,我很抱歉,因为我知道这个答案很可能出现在编写R包的手册中,但在我阅读和查看其他包的校对字段时,我无法100%理解这个字段的用途。在普通语言中(我的是英语),包的描述文件中的Collate字段做什么?你想把什么放在那里?我认为它来自于一个时间和情况,即R/目录中的文件的来源顺序(与词典默认设置相反)仍然很重要。.onLoad()函数通常位于名为zzz.R的文件中,原因与此类似 无论如何,我的软件包中没有一个在描述中使用“Collate:”字段 编辑:由于我们喜欢实证测量,这里有一个关于所有CRAN

我很抱歉,因为我知道这个答案很可能出现在编写R包的手册中,但在我阅读和查看其他包的校对字段时,我无法100%理解这个字段的用途。在普通语言中(我的是英语),包的描述文件中的Collate字段做什么?你想把什么放在那里?

我认为它来自于一个时间和情况,即
R/
目录中的文件的来源顺序(与词典默认设置相反)仍然很重要。
.onLoad()
函数通常位于名为
zzz.R
的文件中,原因与此类似

无论如何,我的软件包中没有一个在描述中使用“Collate:”字段

编辑:由于我们喜欢实证测量,这里有一个关于所有CRAN来源的机器的快速
grep

$ grep ^Collate */DESCRIPTION | wc -l
292
$ ls -1 */DESCRIPTION | wc -l
3779

因此,这是所有软件包的7.7%。我真的不会担心这个,除非你真的必须这样做。

非常感谢,这很有帮助。大约30%的Bioconductor封装有一个Collate字段。不确定“从一个时间”是否留下了正确的印象,人们仍然会将代码组织到文件中,文件的整理顺序也很重要。例如,S4方法需要在泛型之后定义,类应该在使用它们的方法或包含它们的类之前定义。在非C语言环境中,词典排序的反常性让人担心依赖自动排序顺序(可能R在C语言环境中整理文件?对我来说太微妙了)。哈——我几乎补充说它可能与S4类有关(我通常仍然不太使用这些类…),但即使这样,也可以使用类、泛型,方法在同一文件中的顺序与我们在Rcpp中的顺序相同。所以Collate:如果很少使用,它仍然是一个有用的选项,泰勒也没有遗漏任何必要的东西。devtools包(通过roxygen2?)从@include指令创建了这个选项。它允许人们避免使用像zzz.RAh这样的乱七八糟的东西,如果有疑问,我们总是可以责怪Hadley:)而且,大多数时候你真的不再需要zzz.R了,R2.15.1将在这方面带来更多的变化。