如何按频率降序订购下表?
sysuse auto.dta, clear
replace make = substr(make,1, strpos(make," ")-2)
table make, c(N price mean price median price sd price min price max price) format(%9.2f) center
第一次观察应该是 buic
或 old
,N = 7 . 有没有办法按频率订购?
上面的代码也给出了 too many stats()
的错误 . 是否有允许更多列的替代程序?
1 回答
(接下来,我采用了相当奇怪的方式来聚合
make
.word(make, 1)
让我感觉更自然;无论如何你的方法都错过了"Subaru" . )table
的文档说明可以指定不超过5个统计数据 . 参见例如http://www.stata.com/help.cgi?table因此这个问题不应该令人惊讶 .但是,
tabstat
可以显示更多摘要统计信息 . 您可以通过基于频率和make2
变量创建分类变量来获得所需的排序顺序:两者都必须使用,因为频率上存在联系 . 可以使用用户编写的labmask
命令(下载位置为search labmask
)为其分配值标签 . 我不知道如何获得不同的计数格式 .在某些方面,更直接的解决方案只是
collapse
数据,然后分配适当的排序顺序和格式 .