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