寻求评论良好的mgcv源代码版本

时间:2014-05-03 02:28:59

标签: r open-source mgcv

为交叉发布道歉(在R-help上),但是SO会获得更多观看次数,我希望知道的人可以在这里找到问题。

我正在寻找包含mgcv的各种功能的评论很多的版本,这样我就可以为我正在进行的项目修改它的一部分。特别是我正在寻找

  • testStat
  • summary.gam
  • 刘备
  • SIMF

我知道我可以通过输入mgcv :::来找到这些。但是有很多嵌套的if语句,很难遵循。代码中的注释描述了每一步的确切内容,这将使我的生活变得更加轻松。

在哪里可以找到更详细的代码版本?这样的事情存在吗?

修改: 在回复删除的评论时:我不知道它可以在github上找到,之前没有使用它。 FFR,就在这里:https://github.com/cran/mgcv

1 个答案:

答案 0 :(得分:5)

您是否在GitHub上搜索过任何源代码?那里有评论代码。我在the mgcv.r file中找到了testStat


以下是一些帮助我理解复杂代码的建议:

(1)将源写入文本文件,以便将其分开,移动等等。

> sink("testStat.txt")
> mgcv:::testStat
> sink()

(2)将其body分解为其部分列表

> x <- as.list(body(mgcv:::testStat))
> x
[[1]]
`{`

[[2]]
qrx <- qr(X, tol = 0)

 ...

[[19]]
if (nu > 0) {
    if (k1 == 1) 
        rank1 <- val <- 1
    else {
        val <- rep(1, k1)
        rp <- nu + 1
        val[k] <- (rp + sqrt(rp * (2 - rp)))/2
        val[k1] <- (rp - val[k])
    }
    if (res.df <= 0) 
        pval <- liu2(d, val)
    else pval <- simf(d, val, res.df)
} else {
    pval <- 2
}

 ...

[[21]]
list(stat = d, pval = min(1, pval), rank = rank)