[R] creating dummy variables

David Winsemius dwinsemius at comcast.net
Sun Apr 21 00:38:42 CEST 2013


On Apr 20, 2013, at 2:03 PM, Bert Gunter wrote:

> Dummy variables are not needed in R.
> 
> Bert
> 

Bert is correct on this point, but if you what to know how the regression functions in R do this "behind the scenes" then you could always look at:

?model.matrix     # where _some_ of the the automagical stuff happens

> model.matrix( ~ crop, data=dat[,"crop", drop=FALSE])
  (Intercept) cropSWHE
1           1        1
2           1        1
3           1        0
4           1        0
5           1        1
6           1        1
7           1        0
8           1        0
attr(,"assign")
[1] 0 1
attr(,"contrasts")
attr(,"contrasts")$crop
[1] "contr.treatment"



> Sent from my iPhone -- please excuse typos.
> 
> On Apr 20, 2013, at 11:23 AM, shyam basnet <shyamabc2002 at yahoo.com> wrote:
> 
>> Hello R-users,
>> 
>> The below is a snippet of my data:
>> 
>> 
>> fid  crop  year  value   
>> 5_1_1  SWHE  1995  171   
>> 5_1_1  SWHE  1997  696   
>> 5_1_1  BARL  1996  114   
>> 5_1_1  BARL  1997  344   
>> 5_2_2  SWHE  1995  120   
>> 5_2_2  SWHE  1996  511   
>> 5_2_2  BARL  1996  239   
>> 5_2_2  BARL  1997  349   
>> 
>> Here, I want to create dummy variables with the names of the content of a column 'crop' in a way that the new variable 'SWHE' would receive a value of 1 if the column 'crop' contains 'SWHE' and 0 otherwise. So, I would have two new variables SWHE and BARL as below:
>> 
>> 
>> fid  crop  year  value  SWHE  BARL   
>> 5_1_1  SWHE  1995  171  1  0   
>> 5_1_1  SWHE  1997  696  1  0   
>> 5_1_1  BARL  1996  114  0  1   
>> 5_1_1  BARL  1997  344  0  1   
>> 5_2_2  SWHE  1995  120  1  0   
>> 5_2_2  SWHE  1996  511  1  0   
>> 5_2_2  BARL  1996  239  0  1   
>> 5_2_2  BARL  1997  349  0  1   
>> 
>> 
>> Cheers,
>> Shyam
>> Nepal
>> 

David Winsemius
Alameda, CA, USA



More information about the R-help mailing list