来自矢量列表R的外部产品

时间:2016-07-27 10:17:01

标签: r matrix syntax distance

我有一个矢量列表,我正在尝试使用自定义距离测量计算它们之间的距离矩阵。但是我不确定最好的方法:

distance.function<-function(x,y){
    return(x %*% y)
}
m<-1:4
values<-list(m,m,m,m,m)

我想要的是返回类似的内容:

outer(values, values, FUN='distance.function')
      [,1] [,2] [,3] [,4]
[1,]   30   30   30   30
[2,]   30   30   30   30
[3,]   30   30   30   30
[4,]   30   30   30   30

我尝试使用outer,但它似乎并不喜欢输入为向量,我尝试combn,但似乎无法获得输出成所需的格式。我理想情况下,我只会在矩阵的上三角形中进行迭代。

1 个答案:

答案 0 :(得分:0)

似乎这只是使用Vectorize

的问题
m<-1:4
x<-list(m,m,m,m,m)
mini.test<-function(x,y){
    dot.prod <- x %*% y
    return(dot.prod)
}
outer(x, x, Vectorize(mini.test))

     [,1] [,2] [,3] [,4] [,5]
[1,]   30   30   30   30   30
[2,]   30   30   30   30   30
[3,]   30   30   30   30   30
[4,]   30   30   30   30   30
[5,]   30   30   30   30   30

感谢here链接帮助您解决此问题。