Miranda, you misunderstand what the label() option does in -encode- .
As the -help- clearly indicates, the label option either creates a new
label or, if there is already a label of the same name, adds numeric
codes to that label.
In your case, you already had label 'fish', with values 0,1. Your
encode statement added values 2 & 3 to that label and gave these to
the new variable fish1.
Aside: In the world outside of regression with indicator variables,
"1" & "2" is the natural way of referring to two choices on a
questionnaire or in a list.
-Steve
On Fri, Jul 24, 2009 at 7:28 AM, Miranda Kim<[email protected]> wrote:
> Thank you for your input. As you say, there are many different ways to make
> this work and so I have bypassed using encode.
> I am grateful for the many suggestions, and I apologize if my initial
> question was not laid out clearly enough.
> Many thanks,
> Miranda
> ps: here is what I got trying to use encode:
> . tab1 fish
>
> -> tabulation of fish
> fish | Freq. Percent Cum.
> ------------+-----------------------------------
> C | 56 50.45 50.45
> S | 55 49.55 100.00
> ------------+-----------------------------------
> Total | 111 100.00
>
> . desc fish
>
> storage display value
> variable name type format label variable label
> --------------------------------------------------------------------------------------
> fish str1 %1s
> . label def fish 0 "Control" 1 "Salmon"
>
> . encode fish, gen(fish1) label(fish)
>
> . tab1 fish1, nolabel
>
> -> tabulation of fish1
> fish1 | Freq. Percent Cum.
> ------------+-----------------------------------
> 2 | 56 50.45 50.45
> 3 | 55 49.55 100.00
> ------------+-----------------------------------
> Total | 111 100.00
>
> Michael Hanson wrote:
>>
>> If that really is the situation you're in -- all encoded values are 2's
>> and 3's -- then why not simply linearly transform the encoded variables to
>> the values that you want? That is, type:
>>
>> replace gender = gender - 2
>>
>> (Subtract 1 if you had 1's and 2's as mentioned in your original post.)
>>
>> However, I suspect something else is going on. My expectation is that you
>> have more than just two string values ("m" and "f") in your series. Can you
>> provide to the list the output of -table female-? I suspect that if you try
>> Nick's -tab ...- command shown below, you would also find unexpected values.
>>
>> However, these are all conjectures. You would likely resolve your
>> situation much more quickly (and waste fewer people's time on the list in
>> the process) if you followed the guidance clearly laid out in the Statalist
>> FAQ:
>>
>> 3.3 Stata references in your question
>> Say exactly what you typed and exactly what Stata typed (or did) in
>> response. N.B. exactly!
>>
>> Why not at least show us what actually happened? In this case, copy and
>> paste from the results window the *exact* -encode- command and resulting
>> Stata output. Then copy and past whatever command led you to conclude that
>> you were getting 2's and 3's, and the *exact* and *complete* output from
>> that command. (In consideration to Statalist readers, please don't provide
>> us with a lengthy -list- output. Use -table- instead, as suggested above.)
>>
>> Hope this helps,
>> Mike
>>
>>
>> On Jul 24, 2009, at 4:09 AM, Miranda Kim wrote:
>>
>>> I tried this but couldn't make it work, as it then automatically encodes
>>> the variables with 2's and 3's...
>>>
>>> Nick Cox wrote:
>>>>
>>>> In addition to other answers the direct answer to the second question is
>>>> "Yes":
>>>> label def female 0 "m" 1 "f" encode gender, gen(female) label(female)
>>>>
>>>> It would no harm to check on any missings:
>>>> tab gender if !inlist(female, 0, 1)
>>>> Nick [email protected]
>>>> Miranda Kim
>>>>
>>>> How can I efficiently convert string variables (such as gender with
>>>> values 'f' 'm') into binary 0/1 variables?
>>>> Can I fiddle with encode so that it codes 0/1 instead of 1/2?
>>
>> *
>> * 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/
>
--
Steven Samuels
[email protected]
18 Cantine's Island
Saugerties NY 12477
USA
845-246-0774
*
* 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/