I have 5 columns of 5 different p-values. I am looking to mark in a new column when values in any of the 5 columns are present.
My data looks like this:
Gene pvalue_group1 pvalue_group2 pvalue_group3 pvalue_group4 pvalue_group5
Gene1 0.01 0.2 NA NA NA
Gene2 NA 0.001 NA NA NA
Gene3 0.05 0.7 0.09 0.2 0.001
I am looking to output a column that would look like this:
Gene pvalue_group1 pvalue_group2 pvalue_group3 pvalue_group4 pvalue_group5 Group
Gene1 0.01 0.2 NA NA NA Group1, Group2
Gene2 NA 0.001 NA NA NA Group2
Gene3 0.05 0.7 0.09 0.2 0.001 Group1, Group2, Group3, Group4, Group5
I've tried to create code based off similar questions, trying to use dplyr and mutate() but I haven't gotten very far, any help on what other functions I could try would be appreciated.
Example input data:
df <- structure(list(Gene = c("Gene1", "Gene2", "Gene3"), pvalue_group1 = c(0.01,
NA, 0.05), pvalue_group2 = c(0.2, 0.001, 0.7), pvalue_group3 = c(NA,
NA, 0.09), pvalue_group4 = c(NA, NA, 0.2), pvalue_group5 = c(NA,
NA, 0.001)), row.names = c(NA, -3L), class = c("data.table",
"data.frame"))