asdoc sends Stata output to Word / RTF format. asdoc creates high-quality, publication-ready tables from various Stata commands such as summarize, correlate, pwcorr, tab1, tab2, tabulate1, tabulate2, tabstat, ttest, regress, table, amean, proportions, means, and many more.
Using asdoc is pretty easy. We need to just add asdoc as a prefix to Stata commands. asdoc has several built-in routines for dedicated calculations and making nicely formatted tables.
How to enter asdoc options and Stata_command options?
Both the asdoc options and Stata_command specific options should be entered after comma. asdoc will parse both the option itself. For example,the following command has both types of options.
asdoc sum, detail replace dec(3)
option detail belongs to sum command of Stata, whereas options replace and dec(3) are asdoc options.
Following options are used for controlling the behavior of asdoc:
1.1 Replace / append:
We shall use option replace when an existing output file needs to be replaced. On the other hand, we shall use option append if we want to
append results to the existing file. Both the options are optional. Therefore, if none of these options are used, asdoc will first determine
whether a file with a similar name exists in the current directory. If it exists, asdoc will assume an append option. If the file does not
exist, it will create a new file with the default name “Myfile.doc”
Example 1 : running asdoc without replace or append (first time) sysuse auto asdoc sum
The above lines of code will generate a new file with the name Myfile.doc. Next, if we estimate a table of correlation, we can replace the
existing file Myfile.doc or append to it. Again, if we do not use any of these options, option append will be assumed. So;
Example 2 : running asdoc without replace or append (second time) asdoc cor OR asdoc cor, append
Both of the above commands serve the same purpose. The file Myfile.doc will now contain a table of summary statistics, followed by a table ofcorrelations. However, had we typed the following, then the file would contain only table of correlations. asdoc cor, replace
To develop a table row by row from different runs of the asdoc, we need to use option rowappend. This option can be used with ttest, customized summary statistics, or in other instances where the table headers and structure do not change
and appendable statistics have a similar structure as those already in the table.
1.3 save (file_name):
Option save(file_name) is an optional option. This option is used to specify the name of the output file. If left blank, the default name will
be used, that is Myfile.doc. If .doc extension is not preferred, then option save will have to be used with the desired extension, such as
Example 3 : Naming the output file asdoc sum, save(summary.doc) OR asdoc sum, save(summary.rtf)
Option title(table_title) is an optional option. This option is used to specify table title. If left blank, a default table title will be
asdoc sum, save(summary.doc) title(Descriptive statistics)
1.5 Font size i.e. fs(#)
The default font size of asdoc is 10 pt. Option fs(#) can be used to change it. For example, fs(12) or fs(8), etc.
1.6 Decimal points i.e. dec(#)
The default decimal points in many commands are 3. In some commands, the decimal points are borrowed from the Stata output and hence they cannot be changed. In several commands, it is possible to change decimal points with option dec(#). For example, dec(2) or dec(4), etc.
1.7 Adding text lines to the output file i.e. text(text lines)
We can write text to our output file with option text(text lines). This is useful when we want to add details or comments with the Stata
output. In fact, this option makes asdoc really flexible in terms of adding tables and paragraph at the same time. We never have to leave the
Stata interface to add comments or interpretation with the results. One trick that we can play is to use option fs() to change font size and
mark headings and sub-headings in the document. Consider the following examples [I have copied some text from www.wikipedia.org for this example]
1. Write a heading "Details on Cars" in our document asdoc, text(Details on Cars) fs(16) replace
2. Now add some text
asdoc, text(A car is a wheeled motor vehicle used for transportation) append fs(10) asdoc, text(Most definitions of car say they run primarily on roads, seat one ) append fs(10) asdoc, text(to eight people, have four tires, and mainly transport people.) append fs(10)
3. Now add some statistics
sysuse auto, clear asdoc sum, append fs(10)
1.8 Hide Stata output with option hide
We can suppress Stata output with option hide. It is important to mention that option hide might not work with some of the Stata commands (asdoc creates output from log files in some cases).
1.9 Getting Stata commands in output files (cmd)
If we need to report the Stata command in the output file, we can use the option cmd.
1.10 Abbreviate variable names with option (abb(#))
In case variable names are lengthy, they can be abbreviated in the output file with option abb(#). For example, abb(8). In many cases, the
default value is 10. However, when option label is used, this value is set to = abb + 22
1.11 Report variable labels with option (label)
Several commands allow reporting variable labels instead of variable names. For example, the most commonly used commands for reporting statistics are correlate and summarize. Both of these commands allow option label. For example :
asdoc cor, label asdoc sum, label
1.12 Always report equal decimal points (tzok)
The default for report decimal points is to drop trailing zeros and report only valid decimal points. However, we can use the option tzok
i.e. trailing zeros OK, to report equal decimal points for all values even if the trailing values are zero. Therefore, using option
dec(4) for reporting 4 decimal points, the value 2.1 will be reported as follows with and without option tzok.
Default style 2.1
with tzok option 2.1000
thank you so much, sir
Hello Prof ,
my stata asdoc replied like this what shall i do to fix it
file Myfile.doc could not be opened
fopen(): 603 file could not be opened
asdocsum(): – function returned error
: – function returned error
This error usually occurs when you have the output file open in Word or other applications. Try closing the file to which asdoc writes.
Hello. I need some help on asdoc my asdoc cor command is producing output of all variables but am interested on few variables so how can I sort that problem on my stata
Great work! May I know whether it’s possible to suppress the title and headers except for the first time when we do rowappend? In this way, we can stack ttest results from a loop nicely into one table. Also, it would be nice to allow adding text, so that one can record the loop index variables.
These improvements are possible in asdocx, that has several other big improvements over asdoc. See details here https://fintechprofessor.com/asdocx/wp-admin/
variable VARsForTableCommand_ already defined : kindly clarify Why this error message occurs
I’m using a loop command and when I run this asdoc command, it generates an output which repeats the headings for each variable. How can I get rid of all the other headings?
You should post your code and some example data so that I can reproduce the error at my end.
The new version of asdoc can be installed from my site. Copy and paste the following line in Stata and press enter.
net install asdoc, from(http://fintechprofessor.com) replace
Please note that the above line has to be copied in full. After installation of the new version, then restart Stata.
asdocx is now available
A more powerful and flexible version of asdoc is now available. I call it asdocx. You may like to check the details here
Please do remember to cite asdoc. To cite:
Tables were created using asdoc, a Stata program written by Shah (2018).
Shah, A. (2018). ASDOC: Stata module to create high-quality tables in MS Word from Stata output. Statistical Software Components S458466, Boston College Department of Economics.
Hi, could you pleeaase tell me what’s wrong with my coding, my deadline is tomorrow :’)
asdoc esttab, mtitles(“x” “y” “z”)
I created three separate regression tables with eststo and combined them into one table with esttab. Now I want to export this table to Word but I get the error “Type Mismatch”.
Could you please help me?
asdoc does not work with esttab. If you are making a nested regression table, do it directly with asdoc, see this video https://youtu.be/61ks3cMPz3c