2

距離行列から最初の対角線の値を抽出する方法を知りたいです。

例えば:

> 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

ありがとう!

4

2 に答える 2

13

回避策の 1 つは、distオブジェクトを変換してからmatrix、行インデックスが列インデックスよりも 1 大きい要素を抽出することです。

mat = as.matrix(dist(mymatrix))
mat[row(mat) == col(mat) + 1]
# [1] 2.828427 3.000000 2.828427
于 2016-08-30T15:54:21.283 に答える