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?