在 R 摘要中显示对象的子集

Displaying subsets of objects in R summary

我想知道是否可以只显示 R 摘要输出的特定组件。从下面的输出中,我只想显示 F 统计量(或仅显示以下行 F 统计量:0.834 on 2 和 10 DF,p 值:0.4624)。我实际上是在处理估算数据,并试图从一系列汇总输出中提取该值。

谢谢!

 > hanes=with(nhanes, lm(bmi~hyp+chl))
 > summary(hanes)
 Call:
 lm(formula = bmi ~ hyp + chl)

 Residuals:
 Min     1Q Median     3Q    Max 
-6.425 -3.296  0.035  3.123  7.632 

 Coefficients:
 Estimate Std. Error t value Pr(>|t|)   
 (Intercept) 20.10564    5.70716   3.523  0.00551 **
 hyp         -0.68459    3.39596  -0.202  0.84428   
 chl          0.03783    0.03054   1.239  0.24370   
 ---
 Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

 Residual standard error: 4.66 on 10 degrees of freedom
 (12 observations deleted due to missingness)
 Multiple R-squared:  0.143,    Adjusted R-squared:  -0.02846 
 F-statistic: 0.834 on 2 and 10 DF,  p-value: 0.4624

更新 R 中 NHANES2 数据的可重现示例:

  > imp10=mice(nhanes2, m=10, seed=11111)

  > hanes=with(imp10, lm(bmi~hyp+chl))

  > summary(hanes)

以上是 10 个插补中每一个的摘要:

  ## summary of imputation 1 :

  Call:
  lm(formula = bmi ~ hyp + chl)

  Residuals:
  Min      1Q  Median      3Q     Max 
  -7.4597 -3.1938  0.1403  2.8153  7.0753 

  Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
  Intercept) 19.30988    4.47439   4.316 0.000279 ***
  hyp2        -0.38202    2.41568  -0.158 0.875789    
  chl          0.04265    0.02398   1.779 0.089101 .  
  ---
  Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

  Residual standard error: 4.332 on 22 degrees of freedom
  Multiple R-squared:  0.1425,  Adjusted R-squared:  0.06456 
  F-statistic: 1.828 on 2 and 22 DF,  p-value: 0.1843

fs=summary(hanes)$fstatistic 代码仍然生成完整的摘要。再次感谢!

如下我的评论:

要检索 F 统计量,您可以使用:

fs <- summary(mode)$fstatistic

以及与之关联的P值:

pva <- anova(mode)$"Pr(>F)"[1]

然后与 sprintf 等组合在一起。 或者只使用 capture.output 将所有输出保存在一个字符向量中,其中每个元素对应一行;您只需选择兴趣线,在本例中为 18:

capture.output(summary(mode))[18]
[1] "F-statistic: 30.19 on 1 and 30 DF,  p-value: 5.766e-06"

我在 R 中使用了带有 mtcars 数据集的拟合模型。