Skip to content

[W-11] Output the results of the tabstat command to Stata interface, Word and LaTeX

Notifications You must be signed in to change notification settings

Meiting-Wang/tabstat2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stata 新命令:tabstat2——"tabstat"命令结果的输出

作者:王美庭
Email: wangmeiting92@gmail.com

目录

  • 一、引言
  • 二、命令的安装
  • 三、语法与选项
  • 四、实例
  • 五、输出效果展示

一、引言

写了好多类似的命令,突然发现这个分组描述性统计的tabstat还没写,同时它也有着其他已写命令不具有的特点,于是索性就写了,好形成一个整体,就这样。

tabstat在没有by选项时,可以输出和sum一样的效果,所以当tabstat2没有by选项时,可以输出和wmtsum一样的效果。当然,这就引出了之所以形成本文的原因——加上by选项,tabstat2命令可以将分组描述性统计输出至 Stata 界面、Word 文件及 LaTeX 文件中(当然,该命令依然保留了可以不使用by选项去形成与wmtsum一样的结果的功能)。有人会说,前面不是有table2命令了吗?不是的,差异是肯定有的——毕竟分区块与分组还是有区别的。有兴趣的读者可以运行一下帮助文件中的实例感受一下。

该命令,和已经推出的wmtsumwmttestwmtcorrwmtregwmtmattable2命令,都可以通过append选项成为一个整体,将输出结果集中输出至一个 Word 或 LaTeX 文件中。

以上可以通过append选项形成一个整体的系列命令,在导出 LaTeX 表格时,统一采用的是三线表形式(booktabs)。

更多阅读:

二、命令的安装

tabstat2及本人其他命令的代码都托管于 GitHub 上,读者可随时下载安装这些命令。

你可以通过系统自带的net命令进行安装:

net install tabstat2, from("https://raw.githubusercontent.com/Meiting-Wang/tabstat2/master")

也可以通过github外部命令进行安装(github命令本身可以通过net install github, from("https://haghish.github.io/github/")进行安装):

github install Meiting-Wang/tabstat2

三、语法与选项

命令语法

tabstat2 varlist [if] [in] [weight] [using filename] [, options]
  • varlist: 可输入一个或多个数值型变量
  • weight: 可以选择 aweight 或 fweight,默认为空。
  • using: 可以将结果输出至 Word( .rtf 文件)和 LaTeX( .tex 文件)

选项(options)

  • 一般选项
    • by(varname): 可输入一个类别变量
    • statistics(string):设定要报告的统计量,所以可以输入的统计量有:count mean sd min max range variance sum p1 p5 p10 p25 p50 p75 p90 p95 p99 iqr cv semean skewness kurtosis。当然,我们还可以设置统计量的数值格式和标签,如mean(fmt(%9.3f) label(mean_label))
    • listwise:在计算统计量之前会先剔除所涉及变量中包含缺漏值的观测值
    • nototal:不报告总计部分
    • title(string):设置表格标题
    • replace: 替换已存在的文件
    • append: 将输出内容附加在已存在的文件中
    • eqlabels(strings): 自定义行方程名
    • varlabels(matchlist): 自定义行变量名
    • collabels(strings): 自定义列名
    • varwidth(number): 自定义表格第一列的宽度
    • modelwidth(numlist): 自定义表格第二列及之后列的宽度
    • compress: 压缩表格的行空白空间,以使表格更紧凑
  • LaTeX 专有选项
    • alignment(string):设置 LaTeX 表格的列对齐格式,可输入mathdotmath设置列格式为居中对齐的数学格式(自动添加宏包booktabsarray),dot表示小数点对齐的数学格式(自动添加宏包booktabsarraydcolumn)。默认为math
    • page(string):可添加用户额外需要的宏包
    • width(string):设置 LaTeX 中表格的宽度,如width(\textwidth)表示设置表格宽度为版心宽度
  • 以上其中的一些选项可以缩写,详情可以在安装完命令后help tabstat2

四、实例

sysuse auto.dta, clear
*--共同部分
tabstat2 price weight mpg rep78 //默认报告count mean sd min max
tabstat2 price weight mpg rep78, listwise //在计算统计量时会先提出所涉及变量包含缺漏值的观测值
tabstat2 price weight mpg rep78, s(count mean min max) //设定特定的统计量
tabstat2 price weight mpg rep78, s(count(label(n)) mean(fmt(2)) min(fmt(2)) max(fmt(2))) //为统计量设置标签以及数值格式

tabstat2 price weight mpg rep78, by(foreign) //分组报告描述性统计
tabstat2 price weight mpg rep78, by(foreign) nototal //不报告Total部分
tabstat2 price weight mpg rep78, by(foreign) eql(domestic foreign Total) //设置行方程名
tabstat2 price weight mpg rep78, by(foreign) varl(price price_plus mpg mpg_plus) //为变量设置标签
tabstat2 price weight mpg rep78, by(foreign) coll(col1 col2 col3 col4 col5) //为表格自定义列名
tabstat2 price weight mpg rep78, by(foreign) compress //压缩表格横向空格以使得表格更紧凑
tabstat2 price weight mpg rep78, by(foreign) compress varw(20) //自定义表格第一列的宽度
tabstat2 price weight mpg rep78, by(foreign) compress modelw(12) //自定义表格第二列及之后列的宽度
tabstat2 price weight mpg rep78, by(foreign) ti(This is a title) //设置表格标题

*--Word部分
tabstat2 price weight mpg rep78 using Myfile.rtf, replace by(foreign) //将结果导出至Word

*--LaTeX部分
tabstat2 price weight mpg rep78 using Myfile.tex, replace by(foreign) ti(This is a title) //将结果导出至LaTeX
tabstat2 price weight mpg rep78 using Myfile.tex, replace by(foreign) ti(This is a title) a(dot) //设置LaTeX表格列为小数点对齐(默认为数学模式居中对齐)
tabstat2 price weight mpg rep78 using Myfile.tex, replace by(foreign) ti(This is a title) page(amsmath) //为LaTeX添加额外的宏包
tabstat2 price weight mpg rep78 using Myfile.tex, replace by(foreign) ti(This is a title) width(\textwidth) //将LaTeX的表格宽度设为版心宽度


*-该命令结果可以用系统自带的tabstat命令进行验证
tabstat price weight mpg rep78, c(s) s(count mean sd min max)
tabstat price weight mpg rep78, by(foreign) c(s) s(count mean sd min max) long

以上所有与tabstat2相关的实例都可以在help tabstat2中直接运行。

五、输出效果展示

  • Stata
tabstat2 price weight mpg rep78, compress
------------------------------------------------------------
               count      mean        sd       min       max
------------------------------------------------------------
price             74  6165.257  2949.496      3291     15906
weight            74  3019.459  777.1936      1760      4840
mpg               74   21.2973  5.785503        12        41
rep78             69  3.405797  .9899323         1         5
------------------------------------------------------------
tabstat2 price weight mpg rep78, compress s(count(label(n)) mean(fmt(2)) min(fmt(2)) max(fmt(2)))
--------------------------------------------------
                   n      mean       min       max
--------------------------------------------------
price             74   6165.26   3291.00  15906.00
weight            74   3019.46   1760.00   4840.00
mpg               74     21.30     12.00     41.00
rep78             69      3.41      1.00      5.00
--------------------------------------------------
tabstat2 price weight mpg rep78, compress by(foreign) s(count(label(n)) mean(fmt(2)) min(fmt(2)) max(fmt(2)))
--------------------------------------------------
                   n      mean       min       max
--------------------------------------------------
0                                                 
price             52   6072.42   3291.00  15906.00
weight            52   3317.12   1800.00   4840.00
mpg               52     19.83     12.00     34.00
rep78             48      3.02      1.00      5.00
--------------------------------------------------
1                                                 
price             22   6384.68   3748.00  12990.00
weight            22   2315.91   1760.00   3420.00
mpg               22     24.77     14.00     41.00
rep78             21      4.29      3.00      5.00
--------------------------------------------------
Total                                             
price             74   6165.26   3291.00  15906.00
weight            74   3019.46   1760.00   4840.00
mpg               74     21.30     12.00     41.00
rep78             69      3.41      1.00      5.00
--------------------------------------------------
  • Word
tabstat2 price weight mpg rep78 using Myfile.rtf, replace compress by(foreign) ti(This is a title)

tabstat2-Word

  • LaTeX
tabstat2 price weight mpg rep78 using Myfile.tex, replace by(foreign) compress ti(This is a title) a(math)
% 18 Aug 2020 10:27:33
\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\begin{document}

\begin{table}[htbp]\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\caption{This is a title}
\begin{tabular}{l*{1}{*{5}{>{$}c<{$}}}}
\toprule
          &\multicolumn{1}{c}{count}&\multicolumn{1}{c}{mean}&\multicolumn{1}{c}{sd}&\multicolumn{1}{c}{min}&\multicolumn{1}{c}{max}\\
\midrule
0         &         &         &         &         &         \\
price     &       52& 6072.423& 3097.104&     3291&    15906\\
weight    &       52& 3317.115& 695.3637&     1800&     4840\\
mpg       &       52& 19.82692& 4.743297&       12&       34\\
rep78     &       48& 3.020833&  .837666&        1&        5\\
\midrule
1         &         &         &         &         &         \\
price     &       22& 6384.682& 2621.915&     3748&    12990\\
weight    &       22& 2315.909& 433.0035&     1760&     3420\\
mpg       &       22& 24.77273& 6.611187&       14&       41\\
rep78     &       21& 4.285714& .7171372&        3&        5\\
\midrule
Total     &         &         &         &         &         \\
price     &       74& 6165.257& 2949.496&     3291&    15906\\
weight    &       74& 3019.459& 777.1936&     1760&     4840\\
mpg       &       74&  21.2973& 5.785503&       12&       41\\
rep78     &       69& 3.405797& .9899323&        1&        5\\
\bottomrule
\end{tabular}
\end{table}

\end{document}

tabstat2-LaTeX

在将结果输出至 Word 或 LaTeX 时,Stata 界面上也会呈现对应的结果,以方便查看。

About

[W-11] Output the results of the tabstat command to Stata interface, Word and LaTeX

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published