本文介绍了从R中的距离矩阵中提取对角线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道如何从距离矩阵中提取第一个对角线的值.

I would like to know how can I extract the values of the first diagonal from a distance matrix.

例如:

> mymatrix
     [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    6    4
[4,]    8    6

> dist(mymatrix)

         1        2        3
2 2.828427
3 5.385165 3.000000
4 8.062258 5.385165 2.828427

我想获取向量值:2.828427, 3.000000, 2.828427

谢谢!

推荐答案

一种解决方法是将dist对象转换为matrix,然后提取行索引比列索引大一个的元素:

One work around is to convert the dist object to matrix and then extract elements where row index is one larger than the column index:

mat = as.matrix(dist(mymatrix))
mat[row(mat) == col(mat) + 1]
# [1] 2.828427 3.000000 2.828427

这篇关于从R中的距离矩阵中提取对角线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-15 19:49