Advanced Stata Workshop. FHSS Research Support Center. Presentation Layout. Visualization and Graphing Macros and Looping Panel and Survey Data Postestimation. Visualization and Graphing in Stata. Intro To Graphing In Stata. “graph” is often optional. So is “ twoway ” in this case.
FHSS Research Support Center
“graph” is often optional. So is “twoway” in this case.
Note: Nearly all graphing commands start with “graph”, and “twoway” is a large family of graphs.
Note that the value label is displayed above the graphs, and the variable label is displayed in the bottom right hand corner.
The || tells Stata to put the second graph on top of the first one – order matters! You don’t need to type “twoway” twice; it applies to both.
This is another way of writing the command – it doesn’t matter which one you use.
“qfitci” is a type of graph which plots the prediction line from a quadratic regression, and adds a confidence interval. The “stdf” option specifies that the confidence interval be created on the basis
stdf is an option of qfitci.
by(foreign) is an option of twoway.
Another way of writing the previous command is:
This was is easier to read.
This way is easier to type.
You can make pretty impressive graphs just from code, if you overlay the graphs and specify certain options like: multiple axes, notes, titles and subtitles, axis titles and labels, and legends.
This may look scary, but it is actually fairly straightforward. See the accompanying do-file for explanation of each component.
It is often easier to make changes in the graph editor than to specify all the options in code.
Let’s make graph 1 into graph 2 by using the graph editor tools.
Before you start making changes, click the record button. After you are done, click it again, and save your changes as a recording so you can “play” them back later. We will save this recording as advanced_workshop_1.
You can create a graph, open the graph editor, click the green play button, and then play back your recorded edits.
Or, you can play your edits right from the code:
You can run your recorded edits on a graph of a different type, though in this case not all of your edits will make sense:
You can also run all of your recorded edits on a different graph, and just change the title:
Graph recordings are stored as .grec files in your “personal” folder, under the “grec” folder. Type “personal” to see where this is; normally it is C:\ado\personal. So by default Stata should store your .grec files in C:\ado\personal\grec.
Unfortunately, if you are not faculty, you are probably using lab computers to use Stata, and when they are re-imaged, you will lose the files in your grec folder. So you can store the recordings on your flash drive by clicking the Browse button when you save your recording. Now, when you are in the graph editor and click the play button, your recording will not appear in the list because it is not stored where Stata knows to look for it. Never fear, just click Browse, and navigate to where your .grec file is. If you want your recording to be available right from code, as in play(advanced_workshop_1), you will need to move it (at least temporarily) to the “grec” folder, or write the directory location in the code: play(E:\flashdrive\Graph Recordings\advanced_workshop_1)
Recordings are great if you are going to be making the same kind of graph a lot. But a recording for a scatter plot will hardly affect a histogram at all, and might even make it look terrible. If you want to change the look of all graphs that you make, you may want to make a scheme. Schemes are text files which tell Stata how to draw graphs.
Schemes are very powerful, because they let your implement a certain look without specifying a long series of options in every graph, or running every graph through the graph editor. However, creating schemes is fairly time consuming.
For more on creating your own schemes, see:
Graph manipulation commands are quite useful for exploratory analysis.
See do file for code.
Note: Annotated code is in the do file for all of these
Histogram, with overlaid normal distribution
Use graph bar to make bar graphs
Use graph combine to combine 3 graphs into one:
Graph matrix is a great alternative to a correlation matrix to investigate relationships between variables
Get data labels (called marker labels in Stata) from the values of another variable
Xtline from a panel data set can overlay lines for each value of panel variable.
Creating the global
Creating the local
- References to locals have to
be enclosed in single quotes
- References to globals have to
begin with a $
End of the do file
The local no longer exists
Conversely, the global still exists
The local we created
General macros automatically created by Stata
The global we created
commands referring to `lname'
Differences in Using -in- option and -of varlist- option in the -foreach- command
Global for ind.vars
Create a local called “1”
Create local called “2”
Create macro 3 = # of words in macro 1
Extracting word `I’ from local “1”
Extracting word `I’ from local “2”
Using the new locals in a display command with other text
First command to be run when the program is implemented
Second command to be run when the program is implemented
Telling Stata that there are no more commands to be used as part of the program
Invoke the program by simply typing the program name and then running in Stata.
sample states in different regions
sample counties within each state
sample schools within each county
sample students from schools
|| psu?, fpc(?)
psu = primary sampling unit
pweight = probability weight
fpc = finite population correction (total # of stratus or clusters PSU is sampled from)
|| = next stage
Note: subpop is preferred over “if statement” as stata will include all cases for estimating standard errors
Statistics > Longitudinal/panel data > Setup and utilities > Declare dataset to be panel data
clocktime, daily, weekly, monthly, quarterly, halfyearly, yearly…
delta (#) e.g. deta (2)
delta (exp) delta (7*24)
delta (# units) delta (10 min)/(7 days)
patterns(#) e.g. p(10) -- display max. 10
width(#) w(80) -- display 80 columns
Statistics > Longitudinal/panel data > Setup and utilities > Describe pattern of xt data
weight and weight squared. So, the total effect depends on the starting value of weight.
respect to weight at that point.
- displays the covariance matrix estimates
Suppose we want the means and variances from 10,000 randomly constructed 100-observation samples of data and store the results in results.dta
We could do that as follows (refer to the do file)