【问题标题】:Hmisc::describe not working with dataframeHmisc::describe 不使用数据框
【发布时间】:2014-09-28 11:59:40
【问题描述】:

我需要一个“描述”函数来报告超过两位小数的值,因此我想我会使用 Hmisc 描述函数,但即使使用来自http://www.inside-r.org/packages/cran/Hmisc/docs/describe 的示例代码,我也会收到错误:

> dfr <- data.frame(x=rnorm(400),y=sample(c('male','female'),400,TRUE))
> Hmisc::describe(dfr)
Error in UseMethod("describe") : 
  no applicable method for 'describe' applied to an object of class "data.frame"
> psych::describe(dfr)
   vars   n mean   sd median trimmed  mad   min  max range  skew kurtosis   se
x     1 400 0.07 0.96   0.07    0.07 0.94 -2.41 2.76  5.17  0.02     -0.3 0.05
y*    2 400 1.50 0.50   2.00    1.50 0.00  1.00 2.00  1.00 -0.01     -2.0 0.03

关于为什么要这样做有什么建议吗?

【问题讨论】:

  • 如果你尝试methods(describe),你看到describe.data.frame了吗?当我运行您发布的代码时,它工作正常。我建议清除您的环境/工作区,重新安装 Hmisc,然后重试。
  • 我得到:> 方法(描述)[1] describe.by 警告消息:在方法(描述)中:函数“描述”似乎不是通用的 > 方法(Hmisc::describe)错误方法(Hmisc::describe):没有功能“Hmisc::describe”可见
  • 运行install.packages('Hmisc')后是否会发生同样的事情? - 如果是这样,您可能想尝试使用devtools 包直接下载源代码,如下所示:install_url('http://cran.r-project.org/bin/macosx/contrib/3.1/Hmisc_3.14-5.tgz') 如果您不在 mac 上,显然更改 url。
  • 你可以使用Hmisc:::describe.data.frame(dfr),但是打印方法也看不到,所以它只是打印为一个列表。

标签: r


【解决方案1】:

您正在尝试以不受支持的方式使用describe。只需使用:

require(Hmisc)   # or library(Hmisc)
describe(mydataframe)

为了获得更好的输出安装 LaTeX 并运行

latex(describe(mydataframe), file='')
# file='' to put LaTeX code inline as for knitr

【讨论】:

  • +1 虽然我认为 OP 试图避免函数名称与 psych 包的冲突。这将解释为什么他们会尝试以他们的方式使用它。
  • 尝试了通常的重启 RStudio、重新加载等,现在它似乎“像宣传的那样”工作了。不知道出了什么问题,可能我不是 R 的忠实粉丝意味着我错过了一些东西。不幸的是,我最初的问题没有得到解决(广泛的统计数据中的小数位太少)所以我有一个循环来使用单一目的函数来计算它们。
  • 描述(x,数字=6)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-18
  • 2019-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-27
  • 1970-01-01
相关资源
最近更新 更多