|
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
Re: st: RE: RE: tokenize and missing
Thanks Nicks
This is similar to the Maarten's first solution (albeit without using -nmissing-). However, what I really wanted was
1. Identify and list the variables that are missing (your -listmissing- proposed below does this)
2. However, restrict the maximum number of variables listed per batch to 5 (fits the display)
3. To be able to list some other variables in addition to the missing cases (such as the unit identifier e.g
-listmissing idcode -
idcode age educ
1 0 .
2 . 1
For now, Maartens code has been the mutts nuts. However, I can see much promise in marrying the two. I can also see that
it is finally time for me to do that which I have put off for forever, start doing some stata programming. Guess it is
time to enroll in a netcourse
Ronnie
Nick Cox wrote:
Bug fix:
*! NJC 1.0.1 28 January 2008
program listmissing
version 8
syntax [varlist] [if] [in] [, *]
marksample touse, novarlist
qui count if `touse'
if r(N) == 0 error 2000
qui foreach v of local varlist {
count if `touse' & missing(`v')
if r(N) local vlist `vlist' `v'
}
local Vlist : subinstr local vlist " " ",", all
list `vlist' if missing(`Vlist'), `options'
end
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Nick Cox
Sent: 28 January 2008 16:49
To: [email protected]
Subject: st: RE: tokenize and missing
I am pleased to see -nmissing- being useful to anyone. But the problem
here, as I understand it, can be tackled more directly:
*! NJC 1.0.0 28 January 2008
program listmissing
version 8
syntax [varlist] [if] [in] [, *]
marksample touse, novarlist
qui count if `touse'
if r(N) == 0 error 2000
qui foreach v of local varlist {
count if `touse' & missing(`v')
if r(N) local vlist `vlist' `v'
}
local vlist : subinstr local vlist " " ",", all
list `vlist' if missing(`vlist'), `options'
end
Nick
[email protected]
Ronnie Babigumira
I have a quarterly data set and I am trying to identify missing cases
houscode qtr wage_ld biz_lead
72 1 0 0
81 1 0 1
81 2 . 1
11 3 0 1
10 4 . .
9 1 1 0
I started by using Nick Cox's very useful -nmissing- (ssc install
nmissing)
Which gave me
wage_ld 2
biz_lead 1
Knowing which variables have missing cases, I
list if mi(wage_ld, biz_lead)
However, to generalize it (I will be doing it by quarter) I used
nmissing
tokenize `r(varlist)'
list if mi(`1' `2')
This works for the data as it is, however, you will notice that the
missing cases are in qtr2. So, if I did this
analysis by quarter and I
keep if qtr == 1
nmissing
tokenize `r(varlist)'
list if mi(`1', `2')
I get ........invalid syntax...............
I reckon this is coming from the fact that indeed for qtr == 1, I do not
have two variables with missing data. So, is
there a way I can tweak this to allow it to proceed?
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/