dtable
By default, if you use dtable
to
compare groups and include a "Total" column, the "Total" comes last. Here's
how to re-order the columns.
. sysuse auto, clear (1978 automobile data)
. dtable i.rep78, by(foreign, tests)
note: using test pearson across levels of foreign for rep78.
-----------------------------------------------------------
Car origin
Domestic Foreign Total Test
-----------------------------------------------------------
N 52 (70.3%) 22 (29.7%) 74 (100.0%)
Repair record 1978
1 2 (4.2%) 0 (0.0%) 2 (2.9%) <0.001
2 8 (16.7%) 0 (0.0%) 8 (11.6%)
3 27 (56.2%) 3 (14.3%) 30 (43.5%)
4 9 (18.8%) 9 (42.9%) 18 (26.1%)
5 2 (4.2%) 9 (42.9%) 11 (15.9%)
-----------------------------------------------------------
The collect query autolevels
command can be used to examine the
current ordering of columns:
. collect query autolevels foreign
Automatic dimension levels
Collection: DTable
Dimension: foreign
Levels: 0 1 .m _dtable_test
Look at the "Levels:
" line. We can use collect label
list
to check what those three values are:
. collect label list foreign
Collection: DTable
Dimension: foreign
Label: Car origin
Level labels:
.m Total
0 Domestic
1 Foreign
_dtable_test Test
So ".m
" is the "Total" column and "_dtable_test
" is
the p-value. We can re-arrange it with collect style autolevels
.
We'll use the s(levels)
macro, which currently contains the
string "0 1 .m _dtable_test
" from the "Levels:
" line
of the collect query autolevels foreign
" output to avoid having
to rewrite everything (duplicate entries, as .m
will be, are
apparently ignored), but we could of course manually order all columns.
. collect style autolevels foreign .m `s(levels)', clear
. collect query autolevels foreign
Automatic dimension levels
Collection: DTable
Dimension: foreign
Levels: .m 0 1 _dtable_test
. collect preview
-----------------------------------------------------------
Car origin
Total Domestic Foreign Test
-----------------------------------------------------------
N 74 (100.0%) 52 (70.3%) 22 (29.7%)
Repair record 1978
1 2 (2.9%) 2 (4.2%) 0 (0.0%) <0.001
2 8 (11.6%) 8 (16.7%) 0 (0.0%)
3 30 (43.5%) 27 (56.2%) 3 (14.3%)
4 18 (26.1%) 9 (18.8%) 9 (42.9%)
5 11 (15.9%) 2 (4.2%) 9 (42.9%)
-----------------------------------------------------------
Home |
Back to blog
This work is licensed under CC BY-NC 4.0