【问题标题】:summary() function not printing correctlysummary() 函数未正确打印
【发布时间】:2016-11-13 15:36:07
【问题描述】:

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

summary(VLTcog$per ~ VLTcog$Cognate)

我得到的输出是:

VLTcog$per N=90

+--------------+--+--+----------+
| | |N |VLTcog$per|
+--------------+--+--+----------+
|VLTcog$Cognate|C |48|74.42708 |
| |NC|42|56.42857 |
+--------------+--+--+----------+
|总体 | |90|66.02778 |
+--------------+--+--+----------+

现在,如果我这样做,它给我的唯一输出是:
长度类模式
3 公式调用
我的数据的str
str(VLTcog)
'data.frame':90 obs。 4 个变量:
$ 项目:因子 w/90 级别“1 默认”,..:86 16 30 62 28 53 26 83 51 65 ...
$ Cognate : 因子 w/ 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 ...

【问题讨论】:

  • 基本上,如果我调用那个汇总函数,我会得到一个很好的图表,其中平均值、计数通过分组变量和总数来显示......现在,我只得到这个输出 Length Class Mode 3公式调用,仅此而已...
  • 这就是问题所在,我总是使用相同的库,我都加载了它们,重新启动了 Rstudio,更新了 Rstudio,但仍然没有...
  • 您之前必须从某个包或源文件中加载过summary() 函数。基本上不可能(或者需要一些非常幸运的猜测)来弄清楚它来自哪里以及为什么你不再拥有它。
  • @Ben,非常感谢您的回复。问题是我有一个我总是使用和加载的包列表。最新的是 TAM,当时它还在工作……然后我安装了 ltm……但是我不能真正将这两个问题联系在一起……没有新的包应该改变函数的工作方式,这是基本包的一部分...

标签: r summary


【解决方案1】:

您的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 方法。 ..

【讨论】:

  • 你是个大明星! :) 这就是原因。非常感谢!
猜你喜欢
  • 2014-07-19
  • 2023-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多