【问题标题】:How can I contribute to base R in small ways?我如何以小的方式为基础 R 做出贡献?
【发布时间】:2021-05-21 23:55:39
【问题描述】:

偶尔我会看到一些小方法可以改进 R(最近是 IQR 命令)和 R 文档(就在本周,可能会详细说明聚合、tapply 和 by 之间的差异和更好的互连)。但我看不出有什么方法可以真正收回这种贡献。我查看了开发者网站,似乎我的选择是要么尝试成为一名成熟的开发者,要么创建软件包,这都不符合我的目标。

我确实在 R 邮件列表上提出了 IQR 更改,但没有得到回应,所以我认为这无济于事。

澄清一下,我说的是base-R。额外的软件包是另一回事。

有什么建议吗?

【问题讨论】:

    标签: r


    【解决方案1】:

    发送(或抄送)到 r-devel。 r-help 上的流量相当高,那里的东西可能会被忽略。

    File a bug 在愿望清单类别下详细说明您希望看到的改进。

    提交错误后,尝试提供针对 R 代码和/或文档的补丁(视情况而定)。在 R 中存在问题或不合理之处之前,我已经这样做了,为帮助文件/手册提供了补丁和修复,并让 R Core 接受了更改(经过适当的修改)。

    如果它是对 R 代码库的补充,您将必须表明确实迫切需要添加。基本上,您要求 R Core 永久维护您的代码,除非您能证明有需要,否则他们不太可能这样做。

    如果是添加,请寻找一个流行的 R 包,它可以做类似/相关的事情,并向包维护者建议它们包含您的功能。这样你就不需要为简单的事情启动一个完整的包,而是贡献你的代码。例如,在 CRAN 上有几个流行的 *misc 软件包。

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

    希望这能给你一些想法。补丁和代码总是有用的!

    【讨论】:

    • 作为更新,我发布到 r-devel 并且我正在寻找的对 IQR 的更改已合并到当前版本的 R 中——我相信从 2.13 开始。
    • 如果我在文档中发现了一个错字,有没有一种快速简便的方法来修复它?我无法理解 svn.r-project.org/R 的文件布局。
    • @smacdonald 对谁容易?您可以通过电子邮件发送 R-devel,指明开发版本的 (行号、文件等)的确切位置,即 svn 存储库中的主干。最好找出 svn 中的拼写错误,下载该文件并编辑它,然后在您编辑的版本和下载的版本之间做一个差异补丁。找出函数所在的包中有错字,您应该在源代码库文件夹中的 man 文件夹中找到 Rd 文件,例如[这里](svn.r-project.org/R/trunk/src/library)
    • GavinSimpson,请不要revert the edit,这是一个很好的答案,但很难阅读并且不显示层次结构。 (例如,我们是否应该假设悬空的 "File a bug under the wishlist category" 仍然适用到 "If you want to totribute to R documentation..." 还是没有?这很不清楚。每个社区都有自己的关于(比如说)docbugs 的做法)
    • @smci 我不同意,我特别不同意项目符号的缩进暗示它们是特定点的附属。这不是我打算阅读回复的方式。由于个人原因,我今天没有时间更改您的编辑或想出不同形式的词,因此不必全部用项目符号表示。
    【解决方案2】:

    现有软件包的补丁如何?

    关于打开包的错误报告怎么样? R-Forge 项目似乎很少使用问题跟踪器,但我所在的 RPostgreSQL 团队中的一些人启用了它(它托管在 Google Code 上),它很有帮助——see here .我们与一位来自日本的摇滚新开发者一起为我们注入了非常有用的新鲜血液,这可能部分是因为该项目在那里的知名度。

    本质上,尝试找到一个项目/小组/团队来熟悉并加入。从这个意义上说,这就像任何其他开源项目一样。 r-devel 列表 (gmane view) 通常是 R 开发的好地方。

    另一方面,R Core 团队更加封闭,并且仅根据邀请进行,不太可能改变。就这样吧,无论好坏。到目前为止它一直有效,因此我不在那些大声哀叹的人中。

    【讨论】:

    • 如果您不尝试“加入团队”,而只是执行与 python PEP 等效的 R 操作怎么办?那只是提出小的简单改变只是为了更好?你是说这也不现实吗?
    猜你喜欢
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多