Hey Andrea,
I guess this is a FAQ:
http://www.stata.com/support/faqs/lang/ifqualifier.html
"if" works like "while" in your example, i.e. in case you have -`var'==.-
and "missing" is
a very large number the if-statement does not evaluate to "true" and does
not execute -drop `var'-. It
starts evaluating your data with the first observation. If the statement
is "false", Stata proceeds executing code after the if-statement.
Hope this helps,
Johannes
[email protected] schrieb am 21/07/2008 15:05:02:
> Hi!
>
> I have the following code in my do-file:
>
> qui lookfor zt
> qui foreach var of varlist `r(varlist)' {
> if `var'<=.1 {
> drop `var'
> }
> }
>
> All my zt* variables are percentages of missing values of the original
> variables, e.g. zt_age_2000==0.04 means that 0.04 percent of the
> variable age in year 2000 are missing. The way I generated the zt-
> variables, they contain Stata missing values for all years except the
> corresponding year, e.g. in the above case the zt_age_2000 variable
> contains missing values for all years smaller and greater than 2000
> while for the year 2000 it shows the percentage missing.
>
> Now with the above query I want to get rid of zt-variable if their
> missing percentage is below the threshold of 0.1. Strangely, when I
> use the above commands, it does not perform what I want. However, when
> I first recode each zt-variable and set the missing values to zero,
> then the if-query works fine.
>
> So, what am I doing wrong when using the if-command?
>
> Many thanks for your considerations,
>
> Andrea
> *
> * 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/
*
* 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/