我有一个矢量列表,我正在尝试使用自定义距离测量计算它们之间的距离矩阵。但是我不确定最好的方法:
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
,但似乎无法获得输出成所需的格式。我理想情况下,我只会在矩阵的上三角形中进行迭代。
答案 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链接帮助您解决此问题。