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]

Re: st: re-sorting display order after -encode-


From   Michael McCulloch <[email protected]>
To   [email protected]
Subject   Re: st: re-sorting display order after -encode-
Date   Wed, 12 Mar 2014 19:23:30 -0700

Nick, this solution worked very well when the incoming strings are ordinal variables with a fixed sequence like "Always", "Sometimes" and "Never". I simply did this:
	replace varA=1 if varA=="Always"
	replace varA=2 if varA=="Sometimes"
	replace varA=3 if varA=="Never",
and then proceeded to -encode-.

By contrast, if for another variable the incoming strings do not have a logical sequence, but I wish to have -tab- or -mrtab- sorted by order of descending frequency, is there a way to do that without manually inspecting and updating my do-file? 
I'm creating periodic reports for my colleagues as responses pile up, and it would be very useful to have this be achievable via algorithm rather than manual inspection.

Best wishes,
Michael McCulloch

--
Pine Street Foundation, since 1989
124 Pine Street | San Anselmo | California | 94960-2674  
P: (415) 407-1357 | F: (206) 338-2391 | http://www.PineStreetFoundation.org

On Mar 10, 2014, at 1:26 AM, Nick Cox wrote:

> You evidently just used the default produced by -encode- so that
> incoming strings were labelled according to their alphanumeric order.
> Thus values 1, 2, 3, 4, 5  correspond to strings "0-200" ...
> "501-1,000". -encode- has no notion of looking inside the strings to
> discern a meaning and thus a natural order, any more than than it can
> sort "average" "bad" "good" into the correct order. You need to define
> labels in advance before you use -encode- or fix the problem using
> -recode- or some equivalent.
> 
> Nick
> [email protected]
> 
> 
> On 10 March 2014 03:01, Michael McCulloch <[email protected]>
> 
>> I have used -encode- to add value labels from string variable, which are a series of numerical ranges stored as text.
>> 
>> -codebook- shows the frequency data, and Label values, were correct.
>> Freq.                   Numeric         Label
>> 121             1                       0-20
>> 16                      2                       1,001+
>> 36                      3                       101-500
>> 81                      4                       21-100
>> 8                       5                       501-1,000
>> 
>> However, I wish to display them using -tab- so that the rows are sorted on the value label.
>> The -encode- help file does not suggest this is possible. Is there a workaround?
>> 
>> What I want to achieve is -tab- showing this:
>> Label                   Freq
>> 0-20                    121
>> 21-100                  81
>> 101-500                 36
>> 501-1,000               8
>> 1,001+                  16
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/faqs/resources/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/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


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