我如何以小的方式为基础R做出贡献?

31

偶尔我会发现一些可以改进R语言(最近是IQR命令)和R文档的小方法(比如在上周说明aggregate,tapply和by之间的差异并更好地相互连接),但我不知道如何做出真正的贡献。我查看了开发者网站,似乎我的选择要么是尝试成为一个全职的开发者,要么是创建软件包,但这两个选项都不符合我想要实现的目标。

我曾在R邮件列表中提出过IQR的变更建议,但没有得到回应,所以我认为那没有什么作用。

需要澄清的是,我所说的是基本的R语言。额外的软件包是另一回事。

有什么建议吗?

2个回答

20

请将您的问题发送(或抄送)至r-devel邮件列表。r-help邮件列表上的流量非常大,有些内容可能会被忽略。

在愿望类别下提交错误,详细说明您想看到的改进。

提交错误后,请尝试根据需要提供针对R代码和/或文档的补丁。我以前遇到过R中存在问题或不够简便的情况,提供了修补程序和帮助文件/手册的修改,并经过适当修改后被R核心团队接受。

如果您要添加到R代码库中,则必须证明确实有迫切需要进行添加。基本上,您正在要求R Core永久维护您的代码,除非您能证明这是必需的,否则他们不太可能这样做。

如果是添加功能,请查找一个执行类似/相关操作的流行R软件包,并建议软件包维护者包含您的函数。这样,您就不需要为简单的东西启动整个软件包,而是贡献您的代码。例如,在CRAN上有几个受欢迎的*misc软件包。

如果您想为R文档和/或手册提供修复,请为源代码提供补丁。您可以在svn.r-project.org/R找到源代码。

希望这能给您一些启示,补丁和代码总是有益的!


6
更新一下,我已经在r-devel上发布了消息,关于IQR方面的更改已经被纳入当前版本的R语言中——应该是从2.13版本开始。 - John
如果我在文档中发现了一个错别字,有没有快速简便的方法来修复它?我无法理解svn.r-project.org/R的文件布局。 - Stewart Macdonald
@smacdonald 对谁来说容易?您可以通过电子邮件向R-devel发送信息,指出开发版本中的源代码(行号、文件等)的确切位置,即svn仓库中的主干。最好找出在svn中有错别字的文件,下载该文件并进行编辑,然后在您编辑的版本和下载的版本之间进行差异补丁。找出包含错别字的函数所在的软件包,您应该在源代码库中的库文件夹中的man文件夹中找到Rd文件,例如这里 - Gavin Simpson
1
@smci,我不同意你的看法,尤其是缩进符号暗示这些项目是属于某个特定点的子项目。我的回复并非以这种方式阅读。由于个人原因,今天我没有时间修改您的编辑或想出不同的措辞,以便它不必全部用项目符号。 - Gavin Simpson
什么是补丁?这篇文章里术语太多了。 - Julien
显示剩余2条评论

6

对于现有软件包的补丁怎么处理?

针对软件包的开放性漏洞报告怎么处理?R-Forge项目似乎不太使用问题跟踪器,但我所在的RPostgreSQL团队启用了它(托管在Google Code上),并且这很有帮助——请看这里。我们从日本引进了一个新的、非常有用的新开发人员,这可能部分是因为该项目在那里的可见性。

实质上,试图找到一个项目/团队,熟悉并加入其中。在这个意义上,这与任何其他开源项目都一样。r-devel列表(gmane view)是R开发的好地方。

另一方面,R核心团队比较封闭,只能通过邀请加入,不太可能改变。无论如何,这已经起作用了,因此我不是那些大声哀叹的人之一。


如果你不想“加入团队”,而只是想做R语言版的Python PEP,即提出一些小而简单的改变,这对于改进来说是有益的,那该怎么办呢?你是在说这也是不现实的吗? - profPlum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接