-2

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

我正在寻找包含 mgcv 的各种功能的注释良好的版本,以便我可以为我正在处理的项目修改其中的一部分。特别是我正在寻找

  • 测试统计
  • 总结.gam
  • 刘2
  • simf

我知道我可以通过输入 mgcv:::whatever 找到这些。但是有很多嵌套的if语句,很难理解。代码中的注释准确地描述了每一步发生的情况,这将使我的生活变得更轻松。

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

编辑:针对已删除的评论:我不知道它可以在 github 上找到,之前没有使用过。FFR,在这里: https ://github.com/cran/mgcv

4

1 回答 1

5

您是否在 GitHub 上搜索过任何源代码?那里有注释代码。我testStatmgcv.r文件找到。


这里有一些建议可以帮助我理解复杂的代码:

(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)
于 2014-05-03T02:52:54.263 回答