【问题标题】:What is the source code for norm_rand() which is called in rnorm() function in R?在 R 的 rnorm() 函数中调用的 norm_rand() 的源代码是什么?
【发布时间】:2019-11-15 19:01:31
【问题描述】:

我想知道 rnorm() 函数的源代码。因此,我在网上寻找它并找到了github页面https://github.com/wch/r-source/find/trunk,在那里我可以看到源代码

#include "nmath.h"

double rnorm(double mu, double sigma)
{
    if (ISNAN(mu) || !R_FINITE(sigma) || sigma < 0.)
    ML_ERR_return_NAN;
    if (sigma == 0. || !R_FINITE(mu))
    return mu; /* includes mu = +/- Inf with finite sigma */
    else
    return mu + sigma * norm_rand();
}

这里调用 norm_rand() 函数。我找不到它的源代码。任何帮助将不胜感激。

【问题讨论】:

  • norm_rand 用于生成随机数。请看here。投票结束寻求场外资源的建议
  • @PoGibas,我认为这个问题不是在寻求建议,而是在寻求具体信息,所以没关系。这不是“可能导致基于意见的答案”,除了像我在我的答案中发布的关于镜子可靠性的意见。
  • @user2554330 它要求一个场外资源(图书馆、书籍、源代码)。
  • @PoGibas:是的,但请阅读完整描述:“它正在寻求书籍、软件库或其他非现场资源的推荐。这个问题可能会导致基于意见的答案。”第二句话不适用于这个问题。它不是在寻找意见,而是在寻找答案。

标签: r


【解决方案1】:

如果您可以访问 Github 上的源代码,通常只需搜索文本即可找到函数的源代码。例如,如果您在https://github.com/wch/r-source/ 存储库中搜索norm_rand,则前两个命中是调用norm_rand 的函数,而第三个是函数定义,带有此链接:

https://github.com/wch/r-source/blob/5a156a0865362bb8381dcd69ac335f5174a4f60c/src/nmath/snorm.c#L62

该存储库不是 R 源的官方存储库,但它似乎确实可靠地反映了它。该文件的当前官方版本位于

https://svn.r-project.org/R/trunk/src/nmath/snorm.c

但我认为 svn.r-project.org 不像 Github 那样提供简单的搜索方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-06
    • 2023-01-29
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    相关资源
    最近更新 更多