r-summary.manova输出显示summary.manova统计表和扫帚tidy()中的不同p值



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

我可以使用虹膜数据帧重现问题:

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 

很好的可复制示例!从我在这里看到的一切来看,唯一的区别是输出表示,而不是底层值。

在打印的概要输出中,小于阈值的p值仅打印为"0"<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打印的默认值。

最新更新