首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >打印lm或fastLm()模型的摘要而不打印系数

打印lm或fastLm()模型的摘要而不打印系数
EN

Stack Overflow用户
提问于 2015-10-07 02:02:44
回答 1查看 1.8K关注 0票数 3

使用我自己的数据集,我有太多的系数。我只是想打印摘要,而不是(或部分)打印系数。

示例脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lm.fit <- lm(iris$Sepal.Length ~ iris$Petal.Length)
summary(lm.fit)

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> summary(lm.fit)

Call:
lm(formula = iris$Sepal.Length ~ iris$Petal.Length)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.24675 -0.29657 -0.01515  0.27676  1.00269 

Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)        4.30660    0.07839   54.94   <2e-16 ***
iris$Petal.Length  0.40892    0.01889   21.65   <2e-16 ***
---
Signif. codes:  0***0.001**0.01*0.05.0.1 ‘ ’ 1

Residual standard error: 0.4071 on 148 degrees of freedom
Multiple R-squared:   0.76, Adjusted R-squared:  0.7583 
F-statistic: 468.6 on 1 and 148 DF,  p-value: < 2.2e-16

期望产出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Call:
lm(formula = iris$Sepal.Length ~ iris$Petal.Length)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.24675 -0.29657 -0.01515  0.27676  1.00269 

---
Signif. codes:  0***0.001**0.01*0.05.0.1 ‘ ’ 1

Residual standard error: 0.4071 on 148 degrees of freedom
Multiple R-squared:   0.76, Adjusted R-squared:  0.7583 
F-statistic: 468.6 on 1 and 148 DF,  p-value: < 2.2e-16

我知道我可以调用从下面提到的summary(lm.fit)$names中选择的names。但我需要的是相反的。没有系数的摘要。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> names(summary(lm.fit))
 [1] "call"          "terms"         "residuals"     "coefficients" 
 [5] "aliased"       "sigma"         "df"            "r.squared"    
 [9] "adj.r.squared" "fstatistic"    "cov.unscaled" 

这个是可能的吗?如果是,怎么做?

编辑:实际上,我需要fastLm包中的RcppArmadillo

我只是期望lm()fastLm()的输出是相同的。@LyzandeR提供的代码非常适合lm()

使用@LyzandeR的示例,我搜索并创建了以下代码片段,它替换了RcppArmadillo包提供的打印摘要。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print.summary.fastLm <- function(x, ...) {
    ## Alternate print summary
    ## Prints without coefficients
    cat("\nCall:\n")
    print(x$call)
    cat("\nResiduals:\n")
    print(x$residSum)
    cat("\n")

    #printCoefmat(x$coefficients, P.values=TRUE, has.Pvalue=TRUE)
    digits <- max(3, getOption("digits") - 3)
    cat("\nResidual standard error: ", formatC(x$sigma, digits=digits), " on ",
    formatC(x$df), " degrees of freedom\n", sep="")
    cat("Multiple R-squared: ", formatC(x$r.squared, digits=digits),
    ",\tAdjusted R-squared: ",formatC(x$adj.r.squared, digits=digits),
    "\n", sep="")
    invisible(x)
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-07 02:23:28

我稍微修改了print.summary.lm函数,只是注释掉了打印系数的部分(注释代码行如下所示):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print.sum2 <-
  function (x, digits = max(3L, getOption("digits") - 3L), symbolic.cor = x$symbolic.cor, 
            signif.stars = getOption("show.signif.stars"), ...) 
  {
    cat("\nCall:\n", paste(deparse(x$call), sep = "\n", collapse = "\n"), 
        "\n\n", sep = "")
    resid <- x$residuals
    df <- x$df
    rdf <- df[2L]
    cat(if (!is.null(x$weights) && diff(range(x$weights))) 
      "Weighted ", "Residuals:\n", sep = "")
    if (rdf > 5L) {
      nam <- c("Min", "1Q", "Median", "3Q", "Max")
      rq <- if (length(dim(resid)) == 2L) 
        structure(apply(t(resid), 1L, quantile), dimnames = list(nam, 
                                                                 dimnames(resid)[[2L]]))
      else {
        zz <- zapsmall(quantile(resid), digits + 1L)
        structure(zz, names = nam)
      }
      print(rq, digits = digits, ...)
    }
    else if (rdf > 0L) {
      print(resid, digits = digits, ...)
    }
    else {
      cat("ALL", df[1L], "residuals are 0: no residual degrees of freedom!")
      cat("\n")
    }
    if (length(x$aliased) == 0L) {
      #cat("\nNo Coefficients\n")
    }
    else {
      if (nsingular <- df[3L] - df[1L]) {
        #cat("\nCoefficients: (", nsingular, " not defined because of singularities)\n", sep = "")
      }
      else {
         #  cat("\nCoefficients:\n")
      }
      coefs <- x$coefficients
      if (!is.null(aliased <- x$aliased) && any(aliased)) {
        cn <- names(aliased)
        coefs <- matrix(NA, length(aliased), 4, dimnames = list(cn, 
                                                                colnames(coefs)))
        coefs[!aliased, ] <- x$coefficients
      }
      #printCoefmat(coefs, digits = digits, signif.stars = signif.stars, na.print = "NA", ...)
    }
    cat("\nResidual standard error:", format(signif(x$sigma, 
                                                    digits)), "on", rdf, "degrees of freedom")
    cat("\n")
    if (nzchar(mess <- naprint(x$na.action))) 
      cat("  (", mess, ")\n", sep = "")
    if (!is.null(x$fstatistic)) {
      cat("Multiple R-squared: ", formatC(x$r.squared, digits = digits))
      cat(",\tAdjusted R-squared: ", formatC(x$adj.r.squared, 
                                             digits = digits), "\nF-statistic:", formatC(x$fstatistic[1L], 
                                                                                         digits = digits), "on", x$fstatistic[2L], "and", 
          x$fstatistic[3L], "DF,  p-value:", format.pval(pf(x$fstatistic[1L], 
                                                            x$fstatistic[2L], x$fstatistic[3L], lower.tail = FALSE), 
                                                         digits = digits))
      cat("\n")
    }
    correl <- x$correlation
    if (!is.null(correl)) {
      p <- NCOL(correl)
      if (p > 1L) {
        cat("\nCorrelation of Coefficients:\n")
        if (is.logical(symbolic.cor) && symbolic.cor) {
          print(symnum(correl, abbr.colnames = NULL))
        }
        else {
          correl <- format(round(correl, 2), nsmall = 2, 
                           digits = digits)
          correl[!lower.tri(correl)] <- ""
          print(correl[-1, -p, drop = FALSE], quote = FALSE)
        }
      }
    }
    cat("\n")
    invisible(x)
  }

现在如果你跑:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> print.sum2(summary(lm.fit))

Call:
lm(formula = iris$Sepal.Length ~ iris$Petal.Length)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.24675 -0.29657 -0.01515  0.27676  1.00269 

Residual standard error: 0.4071 on 148 degrees of freedom
Multiple R-squared:   0.76, Adjusted R-squared:  0.7583 
F-statistic: 468.6 on 1 and 148 DF,  p-value: < 2.2e-16

就像你想要的那样。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32989379

复制
相关文章
js或jquery实现页面打印可局部打印
1、js实现(可实现局部打印) 代码如下: <html> <title>js打印</title> <head></head><body> <input id="btnPrint" type="button" value="打印" οnclick="javascript:window.print();" /> <input id="btnPrint" type="button" value="打印预览" οnclick=preview(1) /> <style type="text/css" med
黄啊码
2020/05/29
8K0
习题 9: 打印,打印,打印
Here are the days: Mon Tue Wed Thu Fri Sat Sun Here are the months: Jan Feb Mar Apr May Jun Jul Aug
hankleo
2020/09/16
1.5K0
设置打印输出不缓冲
❝通过设置setvbuf函数达到打印输出不缓冲的功能,以消除输出延时。❞ 原型 int setvbuf(FILE *stream, char *buffer, int mode, size_t size); 「stream」:将缓冲区设置为文件流。 「buffer」:指向流使用的缓冲区的指针,或指向仅更改大小和模式的空指针。 「mode」:缓冲模式使用。它有以下值之一: _IOFBF 全缓冲 _IOLBF 行缓冲 _IONBF 没有缓冲 「size」:缓冲区大小。 返回为0即成功,否则失败。 使用   
Qt君
2020/04/17
2.2K0
习题9:打印打印打印
Here are the days: Mon Tue Wed Thu Fri Sat Sun Here are the months: Jan Feb Mar Apr May Jun Jul Aug There's something going on here. With the three double-quotes.
py3study
2018/08/02
1.5K0
前端报表如何实现无预览打印解决方案或静默打印
在前端开发中,除了将数据呈现后,我们往往需要为用户提供,打印,导出等能力,导出是为了存档或是二次分析,而打印则因为很多单据需要打印出来作为主要的单据来进行下一环节的票据支撑, 而前端打印可以说是非常令人头疼的一件事。
葡萄城控件
2023/02/10
2.6K0
前端报表如何实现无预览打印解决方案或静默打印
习题 8: 打印,打印
1 2 3 4 'one' 'two' 'three' 'four' True False False True '%r %r %r %r' '%r %r %r %r' '%r %r %r %r' '%r %r %r %r' 'I had this thing.' 'That you could type up right.' "But it didn't sing." 'So I said goodnight.'
hankleo
2020/09/16
9820
习题8:打印,打印
1 2 3 4 one two three four True False False True {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} I had this thing. That you could type up right. But it didn't sing. So I said goodnight.
py3study
2018/08/02
7880
如何查找正在等待打印的打印机的打印任务
加菲猫的VFP
2023/08/21
2200
如何查找正在等待打印的打印机的打印任务
web调用打印机自动打印_网页打印如何设置默认打印机
1. 前言 客户对于一些插件比较敏感,如金融、银行等出于安全的考虑和产品的把控,可能不愿意页面打印的时候,客户端浏览器安装插件。(当然,用户有各种各样的需求和打印格式要求,愿意使用打印控件的,开发的打印功能当然很好。) 所以直接使用浏览器自带的打印功能,就成为一个选择。
全栈程序员站长
2022/11/18
6.5K0
用递归打印反向打印链表
之前我们说明过递归的写法 1.列出两数关系公式 2.找出退出条件 要遍历必然有x=x->link; 退出条件是当link=NULL ,相信对你聪明的你来说这很容易理解。 递归代码
用户7272142
2023/10/11
1700
用递归打印反向打印链表
html如何打印_html打印代码
通常在浏览网页的时候,网页上总是出现一些和内容无关的内容,在打印的时候,要是把整个网页都打印下来,总会有些不方便。。。所以在有需要打印的网页上稍微设置一下打印页是很有必要的。。。
全栈程序员站长
2022/09/22
12.6K0
打印两个或多个同时流水的标签
Label mx 软件的组合数据功能是文字、一维条码、二维条码高级属性,可以实现数据的复杂组合,如:图形之间并联、多种流水号组合、流水号和数据库组合、多个数据库字段合并等。 本文主要讲:实现一组数据由两个或多个流水码组成的方法。
用户6708611
2023/06/07
5470
打印两个或多个同时流水的标签
打印部分表格(Lodop打印) 原
(adsbygoogle = window.adsbygoogle || []).push({});
tianyawhl
2019/04/04
1.7K0
java链表打印_java链表打印
public static void main(String[] args) {
全栈程序员站长
2022/08/20
1.9K0
【HTML打印】HTML直接调用window下的打印机并执行打印任务(简单打印任务生成)
---- 今天有个朋友问我咋调用打印机,打印页面。 -----------------来自小马哥的故事 ---- <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edg
IT小马哥
2020/03/18
2.7K0
java打印菱形代码_打印空心菱形
语法格式 for(①初始化部分;②循环条件部分;④迭代部分){ ③循环体部分; }
全栈程序员站长
2022/11/10
2.6K0
java打印菱形代码_打印空心菱形
打印菱形Java_for循环打印菱形
1、星号前面的空白要用空格代替。 2、把图形分为上下两部分,分别找出行数与“空格”和“*”的关系
全栈程序员站长
2022/11/11
3K0
打印菱形Java_for循环打印菱形
[python]打印对齐
#  %d、%f是占位符 >>> a = 3.1415926 >>> print("%d"%a)    #%d只能输出整数,int类 3 >>> print("%f"%a)  #%f输出浮点数 3.141593 >>> print("%.2f"%a) #按照要求输出小数位数 3.14 >>> print("%.9f"%a)  #如果要求的小数位数过多,后面就用0补全 3.141592600
py3study
2020/01/09
1.9K0
点击加载更多

相似问题

如何只打印lm的系数?

20

打印rllib模型的模型摘要

15

fastLm()比lm()慢得多

14

滤波lm系数汇总模型

21

用火炬打印Bert模型摘要

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文