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 [[alternative HTML version deleted]]
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 [[alternative HTML version deleted]]
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! > > AlexPresuming 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