3

私が持っていると言う

> x<-1:5
> dist(x)
  1 2 3 4
2 1      
3 2 1    
4 3 2 1  
5 4 3 2 1
> which(dist(x)==max(dist(x)))
[1] 4

4インデックスから行番号と列番号に戻るにはどうすればよい(5,1)ですか?

4

3 に答える 3

6

もっときれいな方法があるかもしれません...

dist.x <- dist(x)
which(as.matrix(dist.x) == max(dist.x) & lower.tri(dist.x), arr.ind=TRUE)
#   row col
# 5   5   1
于 2013-06-19T12:55:29.500 に答える
2

dist には、便利な as.matrix へのメソッドがあります。これを試すことができます:

kk <- as.matrix(dist(x))
which(kk == max(kk), arr.ind=TRUE)

あなたの例では、

  row col
5   5   1
1   1   5
于 2013-06-19T12:59:58.480 に答える