【问题标题】:How to force Hmisc::describe to display frequencies?如何强制 Hmisc::describe 显示频率?
【发布时间】:2013-12-18 17:14:57
【问题描述】:

describe(letters[1:19]) 输出频率表,但describe(letters[1:20]) 不输出。我尝试设置 listunique=10^7listnchar=0 但这没有帮助。

http://cran.r-project.org/web/packages/Hmisc/Hmisc.pdf

【问题讨论】:

  • 它确实为您提供了一个频率表,但方向是垂直而不是水平。试试,例如,describe(rep(letters[1:20],7), listunique=20, listnchar=0)。如果你想要一个水平表,看起来你将不得不破解describe.vector() 中的代码,从if (n.unique >= 20) { 开始。水平和垂直“表格”之间的分界线看起来很好地硬编码到该函数中。

标签: r hmisc


【解决方案1】:

多年来我一直想知道这一点,但从未成功让 Hmisc::describe 支持该参数(尽管广泛使用 Hmisc)。为了得到类似的东西,我会这样做:

 print(rbind( count = as.character(table(letters[1:20])),  
              pct = 100*prop.table(table(letters[1:20]) ) ), 
           quote=FALSE)
#-----------------------------
      a b c d e f g h i j k l m n o p q r s t
count 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
pct   5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5

您可能希望 format() pct 以四舍五入到某个小数位数(0 或 1)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 2019-05-17
    • 2018-07-08
    相关资源
    最近更新 更多