asdocx table1 : column percentage
The table1 template provides the convenience of reporting cell, row, or column percentages. The default is to report cell percentages. In this post, I am going to show several examples of reporting column percentages with categorical and binary variables.
1. Column percentages with categorical variables
To compare the results of asdocx’s table1 template with those reported by Stata, let us start with the tabulation of two variables in Stata. Stata’s tabulate
command with the option col
displays the relative frequency of each cell within its column in a twoway table. Let’s load the nhanes2b
data from the web and create a twoway table of diabetes by race. The variable agegrp is a categorical variable. The tabulate command automatically detects it and reports its categories in the first column of the table.
webuse nhanes2b, clear tabulate agegrp diabetes , col
Here is how the table looks like.
Race  No  diabetes  Total 
age2029  2305  15  2320 
23.401  3.006  22.418  
age3039  1600  21  1621 
16.244  4.208  15.663  
age4049  1229  42  1271 
12.477  8.417  12.281  
age5059  1219  72  1291 
12.376  14.429  12.475  
age6069  2622  238  2860 
26.619  47.695  27.636  
age 70+  875  111  986 
8.883  22.244  9.527  
Total  9850  499  10349 
100  100  100 
Table1 : column percentages for categorical variable
To create the above table in Table1 format, we need to change the variable order so that the treatment variable is written first. Also, since we want to report various categories of the variable agegrp
, therefore, we need to add the prefix i.
to this variable. If we do not add this, asdocx will assume that we prefer to treat this variable as a continuous variable. asdocx command for Table1 template is:
asdocx tabulate diabetes i.agegrp , template(table1) col replace
Variables  0 (n=9850)  1 (n = 499)  Total (10349)  Pvalue 

Age groups 16  0.00  
age2029

2305 (23.40%)  15 (3.01%)  2320 (22.42%)  
age3039

1600 (16.24%)  21 (4.21%)  1621 (15.66%)  
age4049

1229 (12.48%)  42 (8.42%)  1271 (12.28%)  
age5059

1219 (12.38%)  72 (14.43%)  1291 (12.47%)  
age6069

2622 (26.62%)  238 (47.70%)  2860 (27.64%)  
age 70+

875 (8.88%)  111 (22.24%)  986 (9.53%) 
2. Column percentages – binary variables
asdocx offers two options to report a binary variable in the table1 template. (1) report both of its categories. This is the default. asdocx identifies binary variables and report both of its categories. (2) report just the category that has a value of 1. This can be done by using option report(0)
or report(1)
. In both cases, we can choose to report either column, row, or cell percentages.
The variable female
is coded as zero and one, and hence is a binary variable. When using report(1) option, asdocx reports the statistics for the category that is coded as one. The col
option reports the column percentages, that is the percentage of the female population with and without diabetes. If we want to report both the female and nonfemale population, we shall just drop the option report().
asdocx tabulate diabetes female , template(table1) report(1) col
Variables  Not diabetic (n=9850)  Diabetic (n = 499)  Total (10349)  Pvalue 

Female  5152 (52.30%)  282 (56.51%)  5434 (52.51%)  0.07 
Removing option report() from the code, both categories of the binary variable female
are reported.
asdocx tabulate diabetes female , template(table1) col
Variables  Not diabetic (n=9850)  Diabetic (n = 499)  Total (10349)  Pvalue 

Female  0.07  
Male

4698 (47.70%)  217 (43.49%)  4915 (47.49%)  
Female

5152 (52.30%)  282 (56.51%)  5434 (52.51%) 