R 中的距离矩阵
我必须使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我知道的最简单的选择是将包含数据的 Excel 工作表保存为 CSV 文件。确保仅工作表的第一行和第一列包含任何样本或变量名称。
然后使用以下方法读入 R:
然后在第 9 列使用
dist()
来计算相异矩阵如果您想要欧氏距离以外的其他值,请参阅
?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:
and then use
dist()
on the 9th column to compute the dissimilarity matrixIf you want something other than the Euclidean distance, see the options in
?dist
and if those don't suit, try thedaisy()
function in recommended package cluster, orvegdist()
function in package vegan or the proxy package.如果您的数字位于名为 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. Seehelp(dist)
for more info.