我必须使用R创建距离矩阵.我的数据在excel文件中,包含300行和10列.我必须根据第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
Run Code Online (Sandbox Code Playgroud)
如何创建这种类型的矩阵?
我知道的最简单的选项是将包含数据的Excel工作表保存为CSV文件.确保只有工作表的第一行和第一列包含任何样本或变量名称.
然后使用以下方法读入R:
dat <- read.csv("path/to/my/file.csv")
Run Code Online (Sandbox Code Playgroud)
然后dist()在第9列上使用来计算相异矩阵
dij <- dist(dat[, 9])
Run Code Online (Sandbox Code Playgroud)
如果您想要欧几里德距离以外的其他内容,请参阅选项?dist,如果不适合,请尝试daisy()推荐的包集群中的函数,或者vegdist()在包vegan或代理包中运行.