如何从dist对象获得一个观察到所有其他观察的距离?

时间:2014-03-13 17:32:19

标签: r distance

假设我有一个data.frame a(每个观察都在一行)并计算距离矩阵。问题是,是否有任何函数可以将观测距离5与所有其他观测结果联系起来。

> a=data.frame(A=rnorm(10), B=rnorm(10), C=rnorm(10))
> b=dist(a)
> b
           1         2         3         4         5         6         7         8         9
2  1.6118634
3  0.4891468 1.3382692
4  1.2002947 1.7516061 0.9160975
5  1.8128570 0.3197837 1.5192406 1.7709168
6  0.7280433 1.2628696 0.4063128 1.2411639 1.4971098
7  1.7616767 0.7400666 1.4512844 1.4355922 0.5168996 1.5524980
8  3.1033274 3.3739578 2.7297046 2.2281075 3.3693333 2.7738859 3.1216145
9  2.0916857 1.6749526 1.6717408 2.0293415 1.8196557 1.3704288 1.9824870 2.4013682
10 1.5949320 1.7309838 1.1680365 0.6331770 1.7255615 1.3234977 1.4333926 1.7798153 1.6126823

2 个答案:

答案 0 :(得分:0)

只需将其转换为矩阵:

as.matrix(b)[5,]

答案 1 :(得分:0)

查看pdist包。它基本上返回as.matrix(dist(x))将返回的单行...所以你不必计算所有内容。

http://cran.r-project.org/web/packages/pdist/index.html