R中的距离矩阵

时间:2011-08-03 08:20:24

标签: r matrix

我必须使用R创建距离矩阵。我的数据位于包含300行和10列的Excel文件中。我必须根据第9列的值创建距离矩阵。例如

   s s s s s
s  1
s  2 2
s  3 3 4
s  4 4 7 3
s  5 5 8 2 8

如何创建这种类型的矩阵?

2 个答案:

答案 0 :(得分:8)

我知道的最简单的选项是将包含数据的Excel工作表保存为CSV文件。确保只有工作表的第一行和第一列包含任何样本或变量名称。

然后使用:

读入R.
dat <- read.csv("path/to/my/file.csv")

然后在第9列使用dist()来计算相异矩阵

dij <- dist(dat[, 9])

如果您想要欧几里德距离以外的其他内容,请参阅?dist中的选项,如果这些选项不合适,请尝试推荐套餐群集中的daisy()功能,或<{>} {/ strong> vegan 包中的vegdist()功能。

答案 1 :(得分:4)

如果您的数字位于名为z的向量中,则dist(z)会返回欧几里得(sqrt(dx^2+dy^2))值的距离矩阵。有关详细信息,请参阅help(dist)