在R中,summary.lm
是“隐藏的”(当我查看methods('summary'))
时用星号标记。
我定义了一个pvalue
对象和as.pvalue
函数,以便当pvalue非常小时,print.pvalue
方法打印为一个字符,例如“< 0.001”而不是具有荒谬不切实际精确度的浮点数。
我想重载summary.lm
以使Pr(>|t|)
列成为pvalue对象而不是double。我可以复制源代码。我想尝试的另一种方法是:
summary.lm <- function (object, correlation = FALSE, symbolic.cor = FALSE,
...) {
ans <- base::summary.lm(object, correlation = FALSE, symbolic.cor = FALSE,
...)
ans$coefficients$`Pr(>|t|)` <- as.pvalue(ans$coefficients$`Pr(>|t|)`)
ans
}
但base::summary.lm
不可调用。我将其更改为base::summary
并使用R不知道如何停止的递归循环使R崩溃。 (任何被称为“万无一失”的东西都低估了傻瓜的力量。)
是否可以用这种方式编写这样的函数?
答案 0 :(得分:0)
哦拍,summary.lm
的名称空间是stats::
,而不是base::
。