library(purrr)
ascii_val <- function(x) as.integer(charToRaw(x))

prfx <- letters[1:4]
sffx <- letters[2:5]
combs <- cross2(prfx, sffx) %>% transpose()
str(combs)
## List of 2
##  $ :List of 16
##   ..$ : chr "a"
##   ..$ : chr "b"
##   ..$ : chr "c"
##   ..$ : chr "d"
##   ..$ : chr "a"
##   ..$ : chr "b"
##   ..$ : chr "c"
##   ..$ : chr "d"
##   ..$ : chr "a"
##   ..$ : chr "b"
##   ..$ : chr "c"
##   ..$ : chr "d"
##   ..$ : chr "a"
##   ..$ : chr "b"
##   ..$ : chr "c"
##   ..$ : chr "d"
##  $ :List of 16
##   ..$ : chr "b"
##   ..$ : chr "b"
##   ..$ : chr "b"
##   ..$ : chr "b"
##   ..$ : chr "c"
##   ..$ : chr "c"
##   ..$ : chr "c"
##   ..$ : chr "c"
##   ..$ : chr "d"
##   ..$ : chr "d"
##   ..$ : chr "d"
##   ..$ : chr "d"
##   ..$ : chr "e"
##   ..$ : chr "e"
##   ..$ : chr "e"
##   ..$ : chr "e"
vals <- combs %>% pmap_int(~ ascii_val(.x) + ascii_val(.y))
names(vals) <- combs %>% pmap_chr(paste, sep = "_")

vals
## a_b b_b c_b d_b a_c b_c c_c d_c a_d b_d c_d d_d a_e b_e c_e d_e 
## 195 196 197 198 196 197 198 199 197 198 199 200 198 199 200 201