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

Pro*_*ion 2 r vector matrix outer-join median

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

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

例如:

a<-as.vector(1,5)
b<-as.vector(1,5)
Run Code Online (Sandbox Code Playgroud)

使用outer()给我一个2*2矩阵

  1 5
1
5
Run Code Online (Sandbox Code Playgroud)

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

1 3
3 5
Run Code Online (Sandbox Code Playgroud)

akr*_*run 5

尝试

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

数据

a <- c(1,5)
b <- a
Run Code Online (Sandbox Code Playgroud)