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   Nick Cox <[email protected]>
To   "[email protected]" <[email protected]>
Subject   Re: st: re-sorting display order after -encode-
Date   Thu, 13 Mar 2014 08:09:54 +0000

Your code fragment makes no sense. If -varA- is string, then all those
statements will evoke error messages as attempts to put numeric values
in a string variable.
Presumably you mean something else.

-tab, sort- places values of a variable in order of descending
frequency. What its string or numeric values are, or how they are
labelled, is then irrelevant. The most frequent value is the most
frequent value regardless of what the value is.

-mrtab- is a user-written program from SJ, as you are asked to
explain. It's an excellent program, which I have not used in a long
while, but I imagine that looking at its help would answer your
question.

These questions don't have much bearing on the previous question. It
remains true that no Stata command has the ability to infer the
correct order for "Always" "Never" "Sometimes", so at some point the
order you desire has to be made explicit to Stata.

Nick
[email protected]


On 13 March 2014 02:23, Michael McCulloch <[email protected]> wrote:
> 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/
*
*   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