1

我注意到summary.manova()R 中的函数产生了两个不同的 p.values。一个在控制台中打印的表格中,另一个在stats位于摘要对象中的表格中。应该报告哪些 p.values?值略有不同。tidy()我在使用from 函数时第一次注意到这个问题broom,它是从 stats 表而不是控制台报告 p.values。

我可以使用 iris 数据框重新创建问题:

head(iris)
fit = manova(as.matrix(iris[,1:4]) ~ Species, data = iris)
fit_summary = summary.manova(fit, test = "Wilks")
fit_summary #output1
fit_summary$stats #output2
broom::tidy(fit, test = "Wilks") #output2 
4

1 回答 1

2

很好的可重复的例子!从我在这里看到的一切来看,唯一的区别在于输出表示,而不是基础值。

在打印的摘要输出中,小于阈值的 p 值仅打印为“<2.2e-16”(理论上您可能不应该担心微小 p 值之间的差异......)

fit_summary #output1
           Df    Wilks approx F num Df den Df    Pr(>F)    
Species     2 0.023439   199.15      8    288 < 2.2e-16 ***
Residuals 147                                              
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

如果您显式提取$stats组件,那么您会得到一个打印为 R 的默认 7 位精度的值:

> fit_summary$stats #output2
           Df      Wilks approx F num Df den Df        Pr(>F)
Species     2 0.02343863 199.1453      8    288 1.365006e-112
Residuals 147         NA       NA     NA     NA            NA

如果你使用tidy,它返回一个 tibble 而不是一个数据框,它有一组不同的输出精度默认值(即,它只报告 3 个有效数字)。

> broom::tidy(fit, test = "Wilks") 
# A tibble: 2 x 7
  term         df   wilks statistic num.df den.df    p.value
  <chr>     <dbl>   <dbl>     <dbl>  <dbl>  <dbl>      <dbl>
1 Species       2  0.0234      199.      8    288  1.37e-112
2 Residuals   147 NA            NA      NA     NA NA  

  

所有这些默认值都可以重置:例如,?tibble::formatting告诉您options(pillar.sigfig=7)将 tibble-printing 的有效数字设置为 7;?options告诉您可以使用options(digits=n)更改 base-R 打印的默认值。

于 2020-07-28T01:35:16.910 回答