Один из вариантов - создать именованный вектор, использовать его для сопоставления значений «AwayTeam», «HomeTeam», чтобы получить соответствующие оценки, и назначить эти значения столбцам «predAwayScore», «predHomeScore»
nm1 <- setNames(m1[,1], LETTERS[m1[,2]])
df1$predAwayScore <- nm1[df1[['AwayTeam']]]
df1$predHomeScore <- nm1[df1[['HomeTeam']]]
df1
# Week AwayTeam HomeTeam predAwayScore predHomeScore
#1 3 E A -0.050 3.29
#2 3 A F 3.290 -0.51
#3 4 H E -0.870 -0.05
#4 4 I A -0.895 3.29
#5 5 F C -0.510 0.43
#6 5 F J -0.510 -3.29
данные
m1 <- structure(c(-0.87, -0.75, 2.29, -0.05, 0.3555, -0.895, 3.29,
-0.51, 0.43, -3.29, 8, 7, 2, 5, 4, 9, 1, 6, 3, 10), .Dim = c(10L,
2L))
df1 <- structure(list(Week = c(3, 3, 4, 4, 5, 5), AwayTeam = c("E",
"A", "H", "I", "F", "F"), HomeTeam = c("A", "F", "E", "A", "C",
"J")), class = "data.frame", row.names = c(NA, -6L))