Sample dataframe:
name1 <- c('hi', 'bye')
A <- c(1, 5)
B <- c(2, 6)
C <- c(3, 7)
dummy.df <- data.frame(name, A, B, C)
 name1 A B C
1   hi 1 2 3
2  bye 5 6 7
What I would like to end up with:
name letter frequency
1   hi      A         1
2   hi      B         2
3   hi      C         3
4   hi      A         5
5   hi      B         6
6   hi      C         7
Below is what I tried:
name <- rep(name1, each = 3)
letter <- rep(colnames(dummy.df[ ,c(2:4)]), times = 2)
dummy_num <- dummy.df[ ,c(2:4)]     #subsetting to get rid of the first column (non-numeric)
trans_row <- function(i){
transpose(dummy_num[i, , drop = TRUE])}                                               
 #creating a function to transpose each row of the df
data.frame(name, letter, as.vector(c(trans_row(1), trans_row(2))))
   name letter X1 X2 X3 X5 X6 X7
1   hi      A  1  2  3  5  6  7
2   hi      B  1  2  3  5  6  7
3   hi      C  1  2  3  5  6  7
4  bye      A  1  2  3  5  6  7
5  bye      B  1  2  3  5  6  7
6  bye      C  1  2  3  5  6  7
The first two columns are no problem, but I can't get the last one as desired.
