Использование external, безусловно, хороший вариант.Например:
x2 <- 1:4; names(x2) <- c("A","B","C","D")
x3 <- 1:4; names(x3) <- c("A","B","C","D")
outer(x2,x3, "-")
[,1] [,2] [,3] [,4]
A 0 -1 -2 -3
B 1 0 -1 -2
C 2 1 0 -1
D 3 2 1 0
Спасибо @jogo за предложение