This is easily accomplished with tidyr::pivot_longer().
textFile <- "Volume,Gene1,Gene2,Gene3,Gene4,Gene5
Set 1,1,2,3,4,5
Set 2,6,7,8,9,10
Set 3,11,12,13,14,15"
df <- read.csv(text = textFile,header=TRUE)
library(tidyr)
df %>% pivot_longer(.,-Volume,names_to = "Gene",values_to="Count")
...and the output:
# A tibble: 15 x 3
   Volume Gene  Count
   <chr>  <chr> <int>
 1 Set 1  Gene1     1
 2 Set 1  Gene2     2
 3 Set 1  Gene3     3
 4 Set 1  Gene4     4
 5 Set 1  Gene5     5
 6 Set 2  Gene1     6
 7 Set 2  Gene2     7
 8 Set 2  Gene3     8
 9 Set 2  Gene4     9
10 Set 2  Gene5    10
11 Set 3  Gene1    11
12 Set 3  Gene2    12
13 Set 3  Gene3    13
14 Set 3  Gene4    14
15 Set 3  Gene5    15