Aplicar a função com externa, tomando as colunas de duas matrizes como elementos de interesse

Considerar matrizesd er comdim(d) = J x D edim(r) = J x R. Seja divertido (a, b) uma função que pega dois vetores do mesmo comprimento e retorna algum númer
Eu quero tratar as colunas ded er respectivamente como minhas unidades de interesse e aplicarouter para eles

O código a seguir realiza isso criando listas das colunas ded er e, em seguida, usando os doisouter esapply:

d.cols <- split(d, col(d))
r.cols <- split(r, col(r))
outer(d.cols, r.cols,
      function(x,y) {
           sapply(seq_along(x),
                 function(i) {
                     Fun(x[[i]], y[[i]]) })} )

O código faz o que eu quero e é relativamente eficiente, mas é desajeitado e pouco claro. Existe uma maneira melhor de realizar o que estou tentando alcançar?

questionAnswers(1)

yourAnswerToTheQuestion