Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.


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

Re: st: reshaping + info from label


From   Nick Cox <njcoxstata@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: reshaping + info from label
Date   Tue, 25 Oct 2011 02:40:03 +0100

Good. -longshape- was described in a posting on  7 October, accessible here

http://www.stata.com/statalist/archive/2011-10/msg00258.html

Your P.S. sketches out an idea. You would still need to get your
variable names out of the variable labels. The fact that they are
variable names is why you are interested in them, but I don't think it
would help you in extracting them.

Nick

On Tue, Oct 25, 2011 at 2:31 AM, Abhimanyu Arora
<abhimanyu.arora1987@gmail.com> wrote:
> Thanks a million as always, Nick, very useful -longshape- of yours, too .
>
> PS-While matters are solved now, just to share my hazy idea- I thought
> of a possibility to use the -ds- in a loop (given that the labels were
> limited in no.) + reshape and making use of the fact that the variable
> names are stored in r()...but anyway its immaterial now.
>
> Thanks a lot indeed!
> Best regards
> Abhimanyu
>
>
>
> On Tue, Oct 25, 2011 at 3:20 AM, Nick Cox <njcoxstata@gmail.com> wrote:
>> -whatever- in this example is created as a numeric variable with value
>> labels, so you would need to -decode- it before you could apply
>> -split-.
>>
>> Nick
>>
>> On Tue, Oct 25, 2011 at 1:59 AM, Nick Cox <njcoxstata@gmail.com> wrote:
>>> That made it clearer. You can do this
>>>
>>> clear
>>> input date str1 variable1ab  str1 variable2cd
>>> 1      q                         w
>>> 2      e                         r
>>> end
>>> label var variable1ab "A B"
>>> label var variable2cd "C D"
>>> save aroratest
>>> longshape variable*, i(date) j(whatever)
>>>
>>> . l
>>>
>>>     +-----------------------------------+
>>>     | date   whatever     _whatever   y |
>>>     |-----------------------------------|
>>>  1. |    1        A B   variable1ab   q |
>>>  2. |    1        C D   variable2cd   w |
>>>  3. |    2        A B   variable1ab   e |
>>>  4. |    2        C D   variable2cd   r |
>>>     +-----------------------------------+
>>>
>>> It then sounds like a case for -split- on -whatever-.
>>>
>>> The key to this solution was posted fairly recently, -longshape- from SSC.
>>>
>>> -ds- and -findname- find variable names, but string values within the
>>> data are not where it looks. I still see no connection with this
>>> problem, despite being very familiar with both commands, but if
>>> -longshape- helps with a solution, I guess that is immaterial.
>>>
>>> Nick
>>>
>>>
>>> On Tue, Oct 25, 2011 at 1:46 AM, Abhimanyu Arora
>>> <abhimanyu.arora1987@gmail.com> wrote:
>>>
>>>> Thanks Nick, let me pls elaborate the problem.
>>>> The reason why -ds- or your -findname- come into the picture is
>>>> because I would like to take some strings out of the variable label
>>>> and place them into the data.
>>>> So let us consider only one variable variable1ab. "A B" is the
>>>> variable label for the variable variable1ab and I would like to create
>>>> 2 new variables taking up the values (two strings from the label) A
>>>> and B and the third variable takes up the original value of the
>>>> variable. The reason for all this is that I would eventually like to
>>>> take some correlations -by- A and B (this information is available in
>>>> the variable label).
>>>>
>>>> On Tue, Oct 25, 2011 at 2:10 AM, Nick Cox <njcoxstata@gmail.com> wrote:
>>>>> You don't show what you tried with -reshape-. If these were string
>>>>> variables, then you can go
>>>>>
>>>>> input date str1 variable1ab  str1 variable2cd
>>>>> .  1      q                         w
>>>>> .  2      e                         r
>>>>> end
>>>>> reshape long variable, i(date) string
>>>>> l
>>>>>
>>>>>     +-----------------------+
>>>>>     | date    _j   variable |
>>>>>     |-----------------------|
>>>>>  1. |    1   1ab          q |
>>>>>  2. |    1   2cd          w |
>>>>>  3. |    2   1ab          e |
>>>>>  4. |    2   2cd          r |
>>>>>     +-----------------------+
>>>>>
>>>>> I don't follow what you are trying to explain about labels. Value
>>>>> labels? Variable labels? Nor do I follow what the connection with -ds-
>>>>> or -findname- (SJ) is here.
>>>>>
>>>>> Nick
>>>>>
>>>>> On Tue, Oct 25, 2011 at 12:11 AM, Abhimanyu Arora
>>>>> <abhimanyu.arora1987@gmail.com> wrote:
>>>>>
>>>>>> I am trying to reshape data that has the following form---
>>>>>>
>>>>>> date variable1ab   variable2cd
>>>>>> 1      q                         w
>>>>>> 2      e                         r
>>>>>>
>>>>>>
>>>>>>
>>>>>> Assume the variable variable1ab is labelled A B, while variable2cd is
>>>>>> labelled C D (actually strings, though)
>>>>>>
>>>>>>
>>>>>> Finally I would like the data to be of the following form
>>>>>>
>>>>>> date var1 var2 value
>>>>>> 1      A    B      q
>>>>>> 2      A    B      e
>>>>>> 1      C    D      w
>>>>>> 2      C    D      r
>>>>>>
>>>>>>
>>>>>> I feel the solution might lie in the commands -ds- or Nick Cox's
>>>>>> -findname- together with -reshape- but I am just unable to see how.

*
*   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–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index