[R] change factor to mtrix

Jim Lemon jim at bitwrit.com.au
Wed Jun 12 11:09:26 CEST 2013


On 06/12/2013 05:47 PM, Gallon Li wrote:
> i wish to change a column of factor variable to multiple columns of
> zero-ones
>
> for example, my factor could be
>
> ff=c('a','a','b','b','c','c')
>
> then I want to have two columns (for three levels) that are
>
> 0 0
> 0 0
> 1 0
> 1 0
> 0 1
> 0 1
>
> how can i do this fast?

Hi Gallon,
If you want exactly the output shown above, it is not trivial. You could 
convert ff to a factor, then use as.numeric to get:

a = 1
b = 2
c = 3

If you subtract one and display the numbers in two digits of binary:

a = 00
b = 01
c = 10

Then if you apply as.character and strsplit, you can get:

a = "0" "0"
b = "0" "1"
c = "1" "0"

Finally, as.numeric will give you numbers. This does not produce the 
numbers above, but it might give you an idea of what to do.

Jim



More information about the R-help mailing list