如何使用 outer() 计算每个向量之间的中值?

How to use the outer() to calculate the median between each vector?

我希望标题不会太混乱...

基本上,我有两个长度为 n 的向量。我想将这两个向量转换为 n*n 矩阵(即 2 个包含 2 个数字的向量变成 2*2 矩阵),其中矩阵中的每个位置都是两个向量每个位置的中值。

例如:

a<-as.vector(1,5)
b<-as.vector(1,5)

使用 outer() 得到一个 2*2 矩阵

  1 5
1
5

但是,如何用每个唯一组合之间的中值填充空矩阵?答案应该是这样的:

1 3
3 5

尝试

 outer(a, b, FUN= Vectorize(function(x,y) median(c(x,y))))
 #     [,1] [,2]
 #[1,]    1    3
 #[2,]    3    5

数据

a <- c(1,5)
b <- a