Re: [R] How to make this binary hit matrix

From: Marc Schwartz <marc_schwartz_at_comcast.net>
Date: Sun, 15 Jun 2008 12:58:31 -0500

on 06/15/2008 12:46 PM ssls sddd wrote:
> Hi all,
>
> Basically I want to make a binary hit matrix.
>
> For instance, if I have a file called 'pair.txt':
>
> set_a gene_1
> set_a gene_2
> set_a gene_3
> set_b gene_3
> set_b gene_4
> set_b gene_5
> set_c gene_1
> set_c gene_3
>
> And I want to convert it to a binary matrix as:
>
> Rows set_a set_b set_c
> gene_1 1 0 1
> gene_2 1 0 0
> gene_3 1 1 1
> gene_4 0 1 0
> gene_5 0 1 0
>
> Can anyone suggest how to do this?
>
> Thank you!
>
> Alex

Presuming that your data is contained in a data frame called 'DF':

 > DF

      V1 V2

1 set_a gene_1
2 set_a gene_2
3 set_a gene_3
4 set_b gene_3
5 set_b gene_4
6 set_b gene_5
7 set_c gene_1
8 set_c gene_3


You can use:

 > t(table(DF))

         V1
V2       set_a set_b set_c
   gene_1     1     0     1
   gene_2     1     0     0
   gene_3     1     1     1
   gene_4     0     1     0
   gene_5     0     1     0


See ?table and ?t

HTH, Marc Schwartz



R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Sun 15 Jun 2008 - 18:54:41 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sun 15 Jun 2008 - 19:30:40 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive