Just to add to the previous comments, here's a quick reprex which might help. I added an extra row to the example data for demo purposes
library(tidyverse)
df1 <- tibble::tribble(
~pathway, ~condition, ~enriched, ~genes,
"p1", "x", "yes", "foo,bar,baz",
"p2", "y", "yes", "zoo,zar"
)
df1 %>% separate_rows(genes)
#> # A tibble: 5 x 4
#> pathway condition enriched genes
#> <chr> <chr> <chr> <chr>
#> 1 p1 x yes foo
#> 2 p1 x yes bar
#> 3 p1 x yes baz
#> 4 p2 y yes zoo
#> 5 p2 y yes zar
Created on 2018-06-21 by the reprex package (v0.2.0).