R 中的距离矩阵

发布于 2024-11-28 01:14:45 字数 182 浏览 0 评论 0原文

我必须使用 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

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

I have to create a distance matrix using R. My data is in an Excel file which contains 300 rows and 10 columns. I have to create distance matrix based on the values of 9th column. For example

   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

How to create this type of matrix?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

过去的过去 2024-12-05 01:14:45

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

然后使用以下方法读入 R:

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

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

dij <- dist(dat[, 9])

如果您想要欧氏距离以外的其他值,请参阅 ?dist 中的选项> 如果这些不适合,请尝试推荐包 cluster 中的 daisy() 函数,或包 vegdist() 函数><一个href="http://cran.r-project.org/web/packages/vegan/index.html">素食主义者代理包。

Easiest option I know, is to save your Excel sheet containing the data as a CSV file. Make sure that only the first row and column of the sheet contain any sample or variable names.

Then read into R using:

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

and then use dist() on the 9th column to compute the dissimilarity matrix

dij <- dist(dat[, 9])

If you want something other than the Euclidean distance, see the options in ?dist and if those don't suit, try the daisy() function in recommended package cluster, or vegdist() function in package vegan or the proxy package.

假面具 2024-12-05 01:14:45

如果您的数字位于名为 z 的向量中,则 dist(z) 返回欧几里德 (sqrt(dx^2+dy^2)) 值的距离矩阵。请参阅 help(dist) 了解更多信息。

If your numbers are in a vector called z, then dist(z) returns a distance matrix of euclidean (sqrt(dx^2+dy^2)) values. See help(dist) for more info.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文