Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Questions on the rules guiding the -table- command

From   Clyde B Schechter <>
To   "" <>
Subject   Re: st: Questions on the rules guiding the -table- command
Date   Wed, 29 Aug 2012 15:00:12 +0000

Sergiy Radyakin asks, among other things:

 First, consider the following example:

version 12.0
clear all
webuse nlsw88

// does not include the "mining" category
table industry union,c(mean wage) row, if union==1

// does include the "mining" category
generate unionwage=wage if union==1
table industry union, c(mean unionwage) row

// does not include the "mining" category
tabulate industry union if union==1

In the results you may see that some of the tables include the "mining" category
and some don't. I would like to learn more about the rules of inclusion and the
background if possible.

I think the behavior he observes has nothing to do with the -table- command, but reflects the behavior of -if- conditions.

The manual says "The if exp qualifier restricts the scope of a command to those observations for which the value
of the expression is true."  [U] 11.1.3.

Otherwise put, 

-<command> if <condition>-

is equivalent to

keep if <condition>

In the nlsw88 data set, there are _no_ observations where industry == "Mining" and union == 1:

. tab industry union

                      |     union worker
             industry |  nonunion      union |     Total
Ag/Forestry/Fisheries |        10          2 |        12 
               Mining |         2          0 |         2 
         Construction |        17          3 |        20 
        Manufacturing |       234         84 |       318 
Transport/Comm/Utilit |        39         48 |        87 
Wholesale/Retail Trad |       239         21 |       260 
Finance/Ins/Real Esta |       144          9 |       153 
  Business/Repair Svc |        51          8 |        59 
    Personal Services |        58          5 |        63 
Entertainment/Rec Svc |        12          2 |        14 
Professional Services |       500        220 |       720 
Public Administration |       101         56 |       157 
                Total |     1,407        458 |     1,865 

So when a command is issued with -if union == 1-, the command is carried out on a (virtual) data set in which there are no observations where industry is Mining.  So Mining will not appear in the output of that command (nor be involved in its computations), any more than would, say, "Health Care" which doesn't appear anywhere in the data set at all.

By contrast, the command that produced output which did include the Mining category has no -if- condition, so -table- is applied to the entire data set, including those observations where industry is Mining, notwithstanding the absence of any values for the variable unionwage.

His second question about the interpretation of the Total row, I believe is similarly explained by the way -if- operates.

His other question I cannot answer--I think only those who authored the -table- command would know.

Hope this helps.

Clyde Schechter
Department of Family & Social Medicine
Albert Einstein College of Medicine
Bronx, New York, USA

*   For searches and help try:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index