Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


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

AW: st: RE: AW: RE: AW: recode 9, 99, 999,..., into missing


From   "Martin Weiss" <[email protected]>
To   <[email protected]>
Subject   AW: st: RE: AW: RE: AW: recode 9, 99, 999,..., into missing
Date   Mon, 17 May 2010 09:35:28 +0200

<> 

What does the -mvdecode- solution look like then? Like this?



*************
clear*

inp byte(var1 var2) int(var3 var4)
1 1 1 1
2 2 2 2
3 3 3 3
4 8 99 999
5 9 100 1000
6 10 101 1001
7 11 150 5000
9 12 999 9999
end

foreach var of varlist *{
	sum `var', mean
	if r(max)<=9 mvdecode `var', mv(9)
	else if inrange(r(max),10,99) mvdecode `var', mv(99)
	else if inrange(r(max),100,999) mvdecode `var', mv(999)
	else mvdecode `var', mv(9999)
}

li, noo
*************



HTH
Martin


-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von Steve Samuels
Gesendet: Montag, 17. Mai 2010 03:00
An: [email protected]
Betreff: Re: st: RE: AW: RE: AW: recode 9, 99, 999,..., into missing

Mandy, if you know this much about each variable, I see no advantaqe
or necessity to your approach.  -mvdecode- appears to be superior in
every way.  It is not only more direct,  clearer, and  will  handle
all the other "non-data" codes. Clarity is very important: other
people (and you, perhaps, in the future) will be able to understand
your Stata statements without any lengthy explanation.  None of the
other solutions can claim that.

Steve



On Sun, May 16, 2010 at 8:33 PM, Amanda Fu <[email protected]> wrote:
> Dear Mr. Weiss and Lachenbruch,
>
> I am sorry that I should be more clear when describing my question. In
> my opinion, I need to be careful about this problem : for example, for
> a variable  that has 10 scales, the 9 value means a real scale and 99
> in that case means "not answered".
>
> The pattern is like this:
> (1) if the maximum value  of a variable is smaller than 9 , then the
> "not answered" takes the value 9;
> (2) if the maximum value  of a variable is smaller than 99 but greater
> than 10, then the "not answered"   takes the value 99;
> (3) if the maximum value  of a variable is smaller than 999 but
> greater than 100, then the "not answered"  takes the value 999;
> and so on.
>
> (And you are absolutely right for the reminder that there are values
> such as 7,8, 98, or 97 to indicate "refused to answer" "invalid
> answer". Here I would like to keep focus on one example of "not
> answered" , because the other values could be dealt with using the
> same way.)
>
> Thanks for help from both of you!
>
> Best regards,
> Amanda
> *
> *   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/
>



-- 
Steven Samuels
[email protected]
18 Cantine's Island
Saugerties NY 12477
USA
Voice: 845-246-0774
Fax:    206-202-4783

*
*   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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index