The following program checks whether a variable contains any missing
values. This seems an awkward way to do it. Does a more elegant
approach exist? I haven't found an extended macro function that takes
care of this, and the function -missing()- does not do the trick.
clear all
capture program drop checkIfAnyMissing
program define checkIfAnyMissing, rclass
return local variable="`1'"
qui tabulate `1'
local howManyObs=`r(N)'
qui tabulate `1', missing
local howManyRowInclMissing=`r(N)'
if (`howManyObs'== `howManyRowInclMissing') {
return local answer="`1' has no missing values"
return scalar missing=0
}
else {
return local answer="`1' has at least one missing value"
return scalar missing=1
}
end
input bad good str8 strbad str8 strgood
0 0 0 0
. 1 "" 1
end
list
di missing(bad)
di missing(good)
checkIfAnyMissing bad
return list
checkIfAnyMissing good
return list
checkIfAnyMissing strbad
return list
checkIfAnyMissing strgood
return list
Thanks for any tips
Jacob Wegelin
Assistant Professor
Department of Biostatistics
Virginia Commonwealth University
730 East Broad Street Room 3006
P. O. Box 980032
Richmond VA 23298-0032
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/