0

首先,我对 R 非常陌生,我正在尝试学习一些教程。我陷入了一个关于距离矩阵的问题。首先,我需要计算 iris 数据框列的距离矩阵。我设法做到了。

data(iris)
data<-iris
iris_t<-data.frame(t(iris[,-5]
colnames(iris_t<-rownamens(iris)
dist<-dist(iris_t)
dist        

但是,现在我必须考虑最接近的Petal.LengthSepal.Width,作为一个组并重新计算距离矩阵,以便获得它们之间的距离。我不知道该怎么做。

4

1 回答 1

0

如果我让你正确:

D<-dist(t(iris[,-5]))
D = as.matrix(D)

您不需要重新计算,只需子集,距离不会改变:

D[c("Petal.Length","Sepal.Width"),c("Petal.Length","Sepal.Width")]
             Petal.Length Sepal.Width
Petal.Length      0.00000    25.77809
Sepal.Width      25.77809     0.00000

如果你想要它作为一个距离对象:

as.dist(D[c("Petal.Length","Sepal.Width"),c("Petal.Length","Sepal.Width")])
            Petal.Length
Sepal.Width     25.77809
于 2020-05-21T11:44:31.533 回答