How to use asdoc : a basic example

  • 26

How to use asdoc : a basic example

Category:asdoc Tags : 

How to use asdoc

Using asdoc is pretty easy. You need to add just asdoc as a prefix to Stata commands. For example, we use sum command to find summary statistics of all numeric variables in the dataset. We shall add just asdoc as a prefix to sum.  Let us load the auto.dta set for practice and find summary stats of all numeric variables and send the output to MS Word with asdoc

sysuse auto
asdoc sum

And voila, a beautiful table of descriptive statistic is ready [click here to see it].

And for correlations, we shall use asdoc cor. If we were to append the results to the same file, we shall just add append after the comma or leave it (append is the default, you can use replace to replace existing file)

asdoc cor
asdoc cor, append


See also the following resources related to asdoc.

YouTube Video: Descriptive / Summary Statistics from Stata in Word with asdoc

YouTube Video: Create publication quality table of correlation in Stata with asdoc

YouTube Video: Writing all statistics to a single Word file from Stata with asdoc

YouTube Video: Create publication quality regression tables in Stata with asdoc

See a Table of Contents that shows what else asdoc can do



Julia Schmidt

May 22, 2018at 11:20 am

This is such a useful program, it saved a lot of my time. A great breakthrough for all Stata users.

Dr. Yasir Bin Tariq

May 28, 2018at 3:57 pm

Thank you very much. I must tell you this asdoc program has made getting output from STATA very easy. You are a an academic Saint ❤ 😍

Alberto Otete

June 19, 2018at 2:59 pm

I have used asdoc sum, with very good tables in Word. I have thus learnt from this forum.

Myo Win

June 19, 2018at 2:59 pm

Thank you very much Attaullah Shah. asdoc command can create summarize table, corr table and regression tables easily in words doc. This command safe my time a lot.


August 21, 2018at 4:33 pm

Thank you. This is completely genius and I was able to create descriptive tables in a few clicks. Saved so much time.

Can asdoc be used with imputed logistical regression as well?

    Attaullah Shah

    August 26, 2018at 10:45 am

    Dear HCB, Thanks for your comments. Can you please provide an example data set and the format in which results are required. I will look into the possibility of doing it with the current version of asdoc. If not available in the current version, I will consider it for the next version

Poe Bitra

August 26, 2018at 10:55 am

Firstly, I would like to thank you for the wonderful ASDOC package for Stata! It has been a tremendous help in my studies and it made me think about contributing to the Stata community when I have better understanding of the field.

Recently I have updated the package and the commands “asdoc, cells” no longer work. This is why I wondered if there were any big changes to the code and whether I could retrieve an earlier version of the asdoc.ado file. Thank you in advance!

    Attaullah Shah

    August 26, 2018at 10:58 am

    Dear Poe
    Thanks for the kind words. Version 2 of asdoc is not yet out for public testing. Perhaps you updated it from my website where I upload only trial versions for testing. Recently, I replaced option cell with the option row. Try option row instead of cells and tell me whether it solves the issu. Please do cite asdoc in your research.

Suman Kanougiya

September 14, 2018at 4:23 pm

Dear Attaullah,

The asdoc command is indeed very useful. But, I get two different results with and without asdoc commnad.


asdoc pwcorr gcl_avg_od sural_latency sural_duration sural_amplitude sural_ncvif group==1, star(0.05) sig


 pwcorr gcl_avg_od sural_latency sural_duration sural_amplitude sural_ncvif group==1, star(0.05) sig

Would you please guide me what have I been doing wrong?

Attaullah Shah

September 14, 2018at 5:22 pm

Dear Suman Kanougiya
Thanks for pointing this out. Yes, there was an omission of adding if condition in the asdoc code for pwcor command. I have corrected it and shall send version 2.1 soon to SSC.
In the meanwhile, you can do the following to get correct results

keep if  group == 1
asdoc pwcorr gcl_avg_od sural_latency sural_duration sural_amplitude sural_ncv, star (0.05) 

Matthew Millard

September 22, 2018at 2:18 am

I have been telling everyone about the asdoc package who uses Stata. Several people told me how much they absolutely love it. One’s exact words were that it is “game changing” for convenience.

Sumeet Malik

October 3, 2018at 1:52 pm

I came across your website through the youtube videos on ASDOC programme, which I think is very helpful and exponentially better than the OUTREG programme. If you could include p-values instead of stars, it would make the program even more useful since some of the top management journals now don’t want the asterisks in the tables.

    Attaullah Shah

    October 10, 2018at 12:03 am

    Dear Sumeet Malik
    That is on my agenda for the next update. Thanks for your suggestion.

Jannik Helweg-Larsen

October 10, 2018at 12:06 am

Such a brilliant and extremely useful and most impressive Stata program!


October 18, 2018at 10:45 am

This is wonderful. Thank you!

Million Tadesse

October 19, 2018at 4:28 am

Excellent command, asdoc!. Almost ten years ago (approximate) I asked Prof Baum of esttab estout etc author if he can do the same for descriptive stat. results be exported to word. Now time has come! I just started using STATA again (more frequently) with lots of change (in STATA 15).

Million Tadesse

October 25, 2018at 11:58 pm

Looking more options after regress command with asdoc. Example, Age as “Age in years” as we used to do in estout command after regress. Estout has several other options. Where are those with asdoc after regress? Sorry if I missed your posts.

Attaullah Shah

October 26, 2018at 12:09 am

Million Tadesse: Thanks for your comments. I would need some details on what are you proposing. Do you mean to append additional statistics to the regression table? The default option in asdoc for outputting regression tables is the detailed regression type, and there asdoc produces some additional statistics such as the mean of the dependent variables, the standard deviation of the dependent variable etc. In the nested tables, these statistics are not reported. I would appreciate if you give a link to any table that you have in mind for asdoc or email me some examples at

Nicola Deghaye

October 26, 2018at 4:20 pm

I have installed your new asdoc code. Thanks – it looks very promising.I am having a challenge using it with tabstat. Here is the code:

asdoc tabstat lang_perc_original, stat (N mean median sem)

This is what I get:

             |      mean 
lang_perc_~l |  31.71514 

I am getting the mean, not the other stats. Here is what it should look like:

tabstat  lang_perc_original, stat (mean median sem)

    variable |      mean       p50  se(mean)
lang_perc_~l |  31.71514  27.77778  .1461791

I have tried a lot of different ways of writing the code, but keep getting the same thing.

    Attaullah Shah

    October 26, 2018at 4:24 pm

    Dear Nicola Deghaye
    There are two issues with your code. First, there is a space between stat and (N mean median sem). This space should not exist. Second, the allowed statistics is semean, not sem. So the correct code would be

    asdoc tabstat lang_perc_original, stat(N mean median semean)

    Please do tell me whether the problem you are referring to is solved?

Nicola Deghaye

October 29, 2018at 10:02 pm

Thank you so much! I am new at this and these little things trip me up so often. Thanks for taking the time to respond and for the great new code

Million Tadesse

November 6, 2018at 11:28 am

Dear Dr Shah,
This is a follow up of my question on your website pasted below.

I was wondering for “varlabel” option to get my dummy variables (e.g. 2.Farmtyp, etc as shown above) shown in full:

Fruit crops instead of 2.farmtyp as shown above.

As you know esttab command has the capacity to write this variable in full.

regress y x1 x2
estimate store m1
regress z x1 x3
estimate store m2

esttab m1 m2,replace drop (“_age”) cells(b(star fmt(3)) bla bla
legend varlabels(_cons Constant CR “Access to credit”, etc etc. basically all variables in short form can be written in full here.

So I am missing lots of useful options with asdoc for a regress command. Can we store estimates as in the above example (m1 m2) and run/display them as in esttab command?
Thanks for the excellent work on asdoc.


































































































Mean dependent var


SD dependent var




Number of obs 




Prob > F


Akaike crit. (AIC)


Bayesian crit. (BIC)



*** p<0.01, ** p<0.05, * p<0.1

Note that I did not read everything on asdoc yet. Sorry if you already answered this.

    Attaullah Shah

    November 6, 2018at 11:47 am

    Million Tadesse: Thanks for the detailed reply. If I have correctly understood your point, you want to show variable labels instead of variable names. In the recent release of asdoc, I have added the option label, that will show variable labels instead of variable names. For example, see the two regressions

    Reporting variable names

    asdoc reg price mpg rep78 headroom, replace

    Reporting variable labels

    asdoc reg price mpg rep78 headroom, label

    For the factor variables, you are right the option label does not work yet, and I have noted your suggestion. Since you said you have not read the asdoc help file yet, I would recommend exploring three important options that can be used with asdoc.

    Detailed regression (default)
    Nested regressions
    Wide regressions
    These are discussed with examples in post 38 on this thread on Statalist


November 21, 2018at 11:11 pm

Dear Professor

Thank you so much for a great program for Stata. We are currently having big problems with Nordic characters such äöå when using label outputs. Is it something you are planning to remediate?

    Attaullah Shah

    November 21, 2018at 11:17 pm

    Scandinaven: I replied to a similar query on Statalist here – posts 45-46, where Chen Samulsion asked about the possibility of passing Chines characters from Stata to a Word file using asdoc. My reply was that getting Chinese characters in an RTF file is a pain in the neck. Usually, getting Chinese characters programmatically into an RTF file does not seem straightforward, one has to first convert the letters to Unicode and then render it properly in the RTF file.
    I think similar is the case with Nordic characters. Right now, I am struggling with finding a way out.

Mior Faizmie Bin Yusof Za Ba

December 4, 2018at 8:28 pm

Dear Attaullah Shah,
Thank you for stata command. May Allah bless you here and hereafter.

Leave a Reply

10 + 12 =