Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: check whether a variable has any missing values


From   Eva Poen <eva.poen@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: check whether a variable has any missing values
Date   Sat, 28 Mar 2009 19:12:57 +0000

Jacob,

it's a lot easier than you think. I believe you are confused about the
missing() function.

di missing(bad)

instructs Stata to display whatever missing(bad) returns, which will
be zero if missing(bad) evaluates to fale, and one if it evaluates to
true. Because bad is a variable, missing(bad) is actually interpreted
by Stata as missing(bad[1]), i.e. the value of the first observation
is substituted for the variable.

What you want is simply

count if missing(bad)

Hope this helps,
Eva


2009/3/28 Jacob Wegelin <jacob.wegelin@gmail.com>:
> 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/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index