0

I have a long dataframe as follows:

structure(list(guuid = c("sample 1", 
"sample 1", "sample 1", 
"sample 1", "sample 2", 
"sample 2"), gene = c("gene 1", "gene 2", 
"gene 3", "gene 4", "gene 5", "gene 6")), class = c("tbl_df", 
"tbl", "data.frame"), row.names = c(NA, -6L))

I want to convert this into a presence/abscence matrix eg:

        gene 1    gene 2    gene 3    gene 4    gene 5    gene 6
sample 1   1        0         1         0         0          0
sample 2   0        0         1         0         0          0

How can I do this?

slipworth
  • 43
  • 5

1 Answers1

0

Try this:

table(dat)

giving:

          gene
guuid      gene 1 gene 2 gene 3 gene 4 gene 5 gene 6
  sample 1      1      1      1      1      0      0
  sample 2      0      0      0      0      1      1
G. Grothendieck
  • 254,981
  • 17
  • 203
  • 341