Stata 如何导出仅包含带>;的单元格的表;N观察?

Stata 如何导出仅包含带>;的单元格的表;N观察?,stata,Stata,我想将几个表格从Stata导出到Excel,但我只对每个单元格的观察值超过5的表格感兴趣。我有没有办法设定一个条件来达到这个目的 使用社区贡献的命令tabout我尝试按照以下思路做一些事情: tabout var1 if n(cell) > 5 对于观察值小于5的单元格,我还希望导出的表显示另一个值(例如或*),而不是0 一般的方法是两个过程,一个是计算新变量中的单元格频率,另一个是以该变量为条件进行制表 . sysuse auto (1978 Automobile Data) . t

我想将几个表格从Stata导出到Excel,但我只对每个单元格的观察值超过
5的表格感兴趣。我有没有办法设定一个条件来达到这个目的

使用社区贡献的命令
tabout
我尝试按照以下思路做一些事情:

tabout var1 if n(cell) > 5

对于观察值小于
5
的单元格,我还希望导出的表显示另一个值(例如
*
),而不是
0

一般的方法是两个过程,一个是计算新变量中的单元格频率,另一个是以该变量为条件进行制表

. sysuse auto
(1978 Automobile Data)

. tab foreign rep78

           |                   Repair Record 1978
  Car type |         1          2          3          4          5 |     Total
-----------+-------------------------------------------------------+----------
  Domestic |         2          8         27          9          2 |        48 
   Foreign |         0          0          3          9          9 |        21 
-----------+-------------------------------------------------------+----------
     Total |         2          8         30         18         11 |        69 

. table foreign rep78

----------------------------------------
          |      Repair Record 1978     
 Car type |    1     2     3     4     5
----------+-----------------------------
 Domestic |    2     8    27     9     2
  Foreign |                3     9     9
----------------------------------------

. bysort foreign rep78 : generate freq = _N

. table foreign rep78 if freq >= 5

----------------------------------
          |   Repair Record 1978  
 Car type |    2     3     4     5
----------+-----------------------
 Domestic |    8    27     9      
  Foreign |                9     9
----------------------------------

更通用的代码将支持
if
in
条件

一般的方法是两个过程,一个是计算新变量中的单元格频率,另一个是以该变量为条件进行制表

. sysuse auto
(1978 Automobile Data)

. tab foreign rep78

           |                   Repair Record 1978
  Car type |         1          2          3          4          5 |     Total
-----------+-------------------------------------------------------+----------
  Domestic |         2          8         27          9          2 |        48 
   Foreign |         0          0          3          9          9 |        21 
-----------+-------------------------------------------------------+----------
     Total |         2          8         30         18         11 |        69 

. table foreign rep78

----------------------------------------
          |      Repair Record 1978     
 Car type |    1     2     3     4     5
----------+-----------------------------
 Domestic |    2     8    27     9     2
  Foreign |                3     9     9
----------------------------------------

. bysort foreign rep78 : generate freq = _N

. table foreign rep78 if freq >= 5

----------------------------------
          |   Repair Record 1978  
 Car type |    2     3     4     5
----------+-----------------------
 Domestic |    8    27     9      
  Foreign |                9     9
----------------------------------

更通用的代码将支持
if
in
条件

您可以使用社区贡献的命令导出这样的表
esttab

sysuse auto, clear

bysort foreign rep78 : generate freq = _N
quietly tabulate foreign rep78 if freq >= 5, matcell(A)

forvalues i = 1 / 2 {
    forvalues j = 1 / 4 {
        if A[`i', `j'] == 0 matrix A[`i', `j'] = .
    }
}

esttab matrix(A)

----------------------------------------------------------------
                        A                                       
                       c1           c2           c3           c4
----------------------------------------------------------------
r1                      8           27            9            .
r2                      .            .            9            9
----------------------------------------------------------------

您可以使用社区贡献的命令
esttab
导出这样的表:

sysuse auto, clear

bysort foreign rep78 : generate freq = _N
quietly tabulate foreign rep78 if freq >= 5, matcell(A)

forvalues i = 1 / 2 {
    forvalues j = 1 / 4 {
        if A[`i', `j'] == 0 matrix A[`i', `j'] = .
    }
}

esttab matrix(A)

----------------------------------------------------------------
                        A                                       
                       c1           c2           c3           c4
----------------------------------------------------------------
r1                      8           27            9            .
r2                      .            .            9            9
----------------------------------------------------------------

非常感谢。但是,当我使用条件(在您的示例中,freq>=5)时,STATA在观察值少于5的单元格中返回0。是否可以使用其他值(如)更改0。还是*?很好,我看不到你的数据或代码。如果您指的是来自
tabout
(SSC)的一些结果,对不起,但我无法帮助您,因为我没有使用它。对于STATA,请阅读STATA,永远。谢谢!但是,当我使用条件(在您的示例中,freq>=5)时,STATA在观察值少于5的单元格中返回0。是否可以使用其他值(如)更改0。还是*?很好,我看不到你的数据或代码。如果您指的是来自
tabout
(SSC)的一些结果,对不起,但我无法帮助您,因为我没有使用它。对于STATA,请始终阅读STATA。