I have a logical vector with only one TRUE value in it
> summary(no_in_gos)
   Mode   FALSE    TRUE 
logical    5891       1 
When I use it to subset a dataframe, it returns multiple rows, which I don't understand. I'm only expecting one row, given that there is only one TRUE element in the logical vector:
> gos2[no_in_gos,]
      ensembl_gene_id      go_id
24            YDL245C GO:0005355
5916          YBR015C GO:0000026
11808         YPR182W GO:0046540
17700         YJR090C GO:0005634
23592       YFL034C-B GO:0007163
...
...
I'm really sure that my logical vector has only one TRUE element:
> sum(no_in_gos)
[1] 1
> which(no_in_gos == 'TRUE')
[1] 24
What can be some of the reasons that explain this behavior?
