Move N= in Stata 18’s dtable

By default, the dtable command places the sample size in its own row:

. sysuse auto, clear
(1978 automobile data)

. dtable mpg, by(foreign)

----------------------------------------------------------
                               Car origin
                 Domestic        Foreign         Total
----------------------------------------------------------
N                 52 (70.3%)     22 (29.7%)    74 (100.0%)
Mileage (mpg) 19.827 (4.743) 24.773 (6.611) 21.297 (5.786)
----------------------------------------------------------

We can use the following two additional options to relocate it:

. dtable mpg, by(foreign) ///
>             sample(, statistics(freq) place(seplabels)) ///
>             sformat("(N=%s)" frequency)

----------------------------------------------------------
                               Car origin
                 Domestic        Foreign         Total
                  (N=52)         (N=22)         (N=74)
----------------------------------------------------------
Mileage (mpg) 19.827 (4.743) 24.773 (6.611) 21.297 (5.786)
----------------------------------------------------------

The sample() option chooses which sample-level characteristics to report with statistics(freq) (freq being "frequency", meaning in this case the number of times each category (Foreign/Domestic/Total) appears), and the place() suboption choses their location:

The sformat() option formats a particular type of reported results (in this case, “frequency”) with a given string.

Home | Back to blog

This work is licensed under CC BY-NC 4.0 Creative Commons BY-NC image