summary() 函数无法正确打印

summary() function not printing correctly

这可能是一个非常蹩脚的问题,但我无法真正弄清楚发生了什么。通常如果我调用这个函数:

summary(VLTcog$per ~ VLTcog$Cognate)

我得到的输出是:

VLTcog$每 N=90

+--------------+--+--+----------+
| | |N |VLTcog$每|
+----------------+--+--+----------+
|VLTcog$同源|C |48|74.42708 |
| |NC|42|56.42857 |
+----------------+--+--+----------+
|整体| |90|66.02778 |
+----------------+--+--+----------+

现在,如果我这样做,它给我的唯一输出是:
长度Class 模式
3 公式调用
我的数据的 str
海峡(VLTcog)
'data.frame':90 观察。共 4 个变量:
$ Item : Factor w/ 90 levels "1 acquiesce",..: 86 16 30 62 28 53 26 83 51 65 ...
$ 同源词:具有 2 个水平的因子 "C","NC":1 1 1 1 2 1 2 2 1 2 ...
$ 频率:因子 w/ 5 个级别 "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
$ per : num 100 67.5 95 82.5 87.5 67.5 95 40 87.5 87.5 ...

看起来你的 summary 行为来自 Hmisc::summary.formula(我用 library(sos); findFn("summary.formula") 来解决这个问题......)

在干净的 R 会话中:

x <- 1:10
y <- 1:10
summary(y~x)
## Length   Class    Mode 
##   3 formula    call 

现在加载 Hmisc:

library(Hmisc)
packageVersion("Hmisc")
## [1] ‘4.0.0’
summary(y~x)
## y     N= 10 
## 
## +-------+------+--+---+
## |       |      |N |y  |
## +-------+------+--+---+
## |x      |[1, 4)| 3|2.0|
## |       |[4, 6)| 2|4.5|
## |       |[6, 9)| 3|7.0|
## |       |[9,10]| 2|9.5|
## +-------+------+--+---+
## |Overall|      |10|5.5|
## +-------+------+--+---+

所以我建议你在加载 only Hmisc 的会话中尝试这个,看看事情进展如何,然后尝试其他包,看看是否有一个屏蔽 summary.formula 方法 ...