gpt4 book ai didi

r - summary.lm 输出自定义

转载 作者:行者123 更新时间:2023-12-04 09:43:34 25 4
gpt4 key购买 nike

我希望我的 lm 摘要输出比平时更紧凑。我想删除一些换行符,“残差”部分,带有“系数”一词的行。积极的一面是,summary.lm 是作为原生 R 函数编写的,所以大概我可以将它复制到一个文件中,更改它,然后通过我的 .Rprofile 。不利的一面是,当我尝试第一步(复制到 emacs 并获取它)时,它提示找不到 qr.lm。有魔法吗,还是我漏掉了什么?

如何重新定义它?

summary.lm <- function(object, correlation = FALSE, symbolic.cor = FALSE,
print.residstable = TRUE, succinct = FALSE, ...)

无论我得到什么都不理想。如果上游有人更改了 summary.lm,我将不得不重做我的代码。尽管如此,在没有参数来控制打印冗长的情况下,我不知道还有什么办法可以做到这一点。

最佳答案

的确,重新定义 summary.lm 是实现您想做的事情的方法。

您缺少的是 R 中命名空间的概念。summary.lm 是 stats 包中的一个函数,因此可以访问该包的内部函数。一旦包被加载,只有包中的一些功能被导出和可用。

qr.lm 正是这样一个内部函数。它可以通过三重 ::: 运算符访问(请参阅 ?/:::``):

> qr.lm
Error: object 'qr.lm' not found

> stats::qr.lm
Error: 'qr.lm' is not an exported object from 'namespace:stats'

> stats:::qr.lm
function (x, ...)
{
if (is.null(r <- x$qr))
stop("lm object does not have a proper 'qr' component.\n Rank zero or should not have used lm(.., qr=FALSE).")
r
}
<bytecode: 0x0000000017983b68>
<environment: namespace:stats>

如您所见,它只是提取了 lm 对象的 qr 组件。您可以直接粘贴代码而不调用函数。

关于r - summary.lm 输出自定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32342018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com