我有一个向量,其中包含数据向量的名称,名为c("tom.txt", "tim.txt" , "Amy.txt")
. 我的任务是:构建一个对称矩阵,最后看起来如下所示。
> m
tom.txt tim.txt amy.txt
tom.txt 0 10 5
tim.txt 10 0 7
amy.txt 5 7 0
这些条目是通过一个名为 的函数获得的,该函数get.result(vec1, vec2)
在目录中找到 2 个文本文件的相应数据向量并对它们进行一些操作,然后为矩阵中的每个位置返回一个值。例如,如果我想获取 entry m["tom.txt", "tim.txt"]
,我需要将 "tom.txt" 和 "tim.txt" 传递到get.result("tom.txt", "tim.txt")
. 这个函数的内容并不重要。
但是,如果我想计算所有条目的值,那么继续输入会很乏味get.result("tom.txt", "amy.txt"), get.result("tim.txt", "amy.txt")
,尤其是当我实际处理 100 个不同的文本文件时。
我的问题:有没有一种有效的方法来编程,这样我总是将一个文本文件与其他文本文件进行比较(从不与自身进行比较),同时,我可以跟踪它们在矩阵中的位置?
我应该在开头用全零初始化矩阵并将列名和行名设置为文本文件名吗?但在这种情况下,我不确定如何获取列名和行名,以便将它们传递给get.result(vec1, vec2)
.