考虑一个矩阵A和一个数组b。我想计算b和A的每一行之间的距离。例如,考虑以下数据:
A <- matrix(c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15), 3, 5, byrow=TRUE)
b <- c(1, 2, 3, 4, 5)我希望输出表单的一些数组:
distance_array = c(0, 11.18, 22.36)其中,值11.18来自a[2,]和b之间的欧几里德距离:
sqrt(sum((a[2,]-b)^2))这似乎很基本,但到目前为止,我发现的所有R函数都允许计算矩阵的所有行对之间的距离矩阵,但不是这种数组矩阵计算。
发布于 2019-05-23 00:16:48
我建议将行A放在列表中而不是矩阵中,因为这可能会加快处理时间。但是,对于您的示例,下面是我要做的
A <- matrix(c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15), 3, 5, byrow=TRUE)
b <- c(1, 2, 3, 4, 5)
apply(A,1,function(x)sqrt(sum((x-b)^2)))https://stackoverflow.com/questions/56260845
复制相似问题