Collecting stata commands that are very useful but not used frequently, namely, those I can not remember well. It will get very long ...
*This post was editted by * Maxico (a Markdown *based editor for * Evernote *) first, then copied here. * The Maxico version looks much better.
- V - Commands regarding Variables
- M - Macros, i.e., local and global
- F - Read, import, or export Files
- SSC - Commands from SSC
- F - Useful Functions
V
Variable Labels
Transfer a variable label to another
- Copy a variable label to a local
local lbl: variable label oldvar
- Pass to another:
label var newvar "`lbl'"
- An old version:
_crcslbl newvar oldvar
- This one only copies the variable label
- A new vewsion:
copydesc oldvar newvar
- This one copies the descriptive properties too
-- By Nicholas J. Cox
Copy variable labels before collapse
A systematic way to do this is with a foreach loop.
foreach v of var * {
local l`v' : variable label `v'
if `"`l`v''"' == "" {
local l`v' "`v'"
}
}
Then after reshape
check all variable labels and replace blanks by any saved labels:
foreach v of var * {
local L`v' : variable label `v'
if `"`L`v''"' == "" & `"`l`v''"' != "" {
label var `v' `"`l`v''"'
}
}
-- By Nicholas J. Cox
M
Use of a global
- Defining a global is just as defining a local
global gl
, but accessing to it one has to put a **gl ``` - When a global is used with a local, "{ }" must be used. For example, let local
i
be 6, andgl
be "var", the codedi "$gl`i'"
will not return var6 but 6 instead. One has to type
di "${gl`i'}"
F
Import data from other sources (New in STATA 2013)
Import is a new command in State 13. It can import -excel- file directly. It also replace the insheet using
command.
Import from Excel file
This needs some special notes because it is really a great update for STATA 13.0.
- Command:
import excel using
-
cellrange([start]:[end])
: There should be no blank after colon -
firstrow
should always be specified because it is neat! It does not have to be the first row in the sheet, but the first row in the range defined in the command. Whenfirstrow
has been specified, blanks will be removed for naming a variable, and will be kept for variable labels automatically.
-
Import from a delimited text file
- Command:
import delim using
: rowrange, colrange, nummericc are all useful
SSC commands
sec family; ssc hot
- unique: module to report number of unique values in variable(s)
- labutil: modules for managing value and variable labels
- tabout: module to export publication quality cross-tabulations
F
String Functions
destring
- It is a command actually, but more used to replace
real()
. - It is quite safe because string variables will not be transferred into numeric if
destring
detects any non-numeric records. Records of "." will be treated directly into missing values though. Neat! - Use option
ignore()
to deal with the delimiter ``,''. Note this option can handle more than one arguments, e.g.,ignore("," "N.A." " ")
.
John Mullahy发推征集到的五个最有用的stata命令
_n subscripting
assert
byhist: makes nice categorical histograms in a single panel.
capture
catplot
cmp
char
clonevar
cluster
collapse
contract
coefplot
cond()
contract
distinct (# of unique cases)
egen flag = tag(group)
even
estout
esttab
eststo/esttab
fasterxtile
factor notation: i.[varname] -dummy coding is a breeze
fre
ftools
fvvarlist
glm
gr_edit
gtools
gcollapse
greshape
heatplot (I need to break my Ben Jann theme)
inlist (tag values within a variable)
isid
khb
kdensity & akdensity
labmask:is great for replacing strings with labeled intergers for i. or reducing file sizes.
levelsof is great more making lists of values of string variables.
lookfor
margins
mat def & nullmat()
mats
mata
mdesc
merge
meglm
metan
missing
mlab
motivate
mod(), and all the extended_fcn macros!
mvdecode
numlabel, add
over / by
pause (if you teach)
post
program
putexcel: is great for making custom reproducible tables in excel (plus excel to latex extension for latex).
recast strL
reghdfe
rifreg (& now generalised to rifhdreg
set more off
set scheme X, where X is anything but the default baby blue border abomination.
shell python
shell matlab
shell R
shell cp
shell
strpos
strmatch (string function)
svy: commands
set scheme
"set trace on"(When combined with the classic green font, black background, it makes everything look like The Matrix. Fine, I guess it also helps with debugging code by showing exactly where things go wrong)
svyset
stset
stcox
tabulate
tabout2
tex/webdoc (sometimes markstat instead)
texdoc
tempfile/tempvar
tab1
teffects
tokenize
tw
tuples - all combinations of a list
vplot
xtnbreg