感谢两位的帮助,我深深的学习了,也找到了解决问题的方法;
两位的结果都是一样的,但都忽略了一个问题,就是所得的结果不是m个对象之间的关系矩阵,即对称的方阵,该方阵对角线上的元素值是一样的,如果是距离矩阵的话,那么对角线上面的元素的值都是0,因为自己跟自己的关系,如果是距离关系的话,就应该是0,如果是相似度矩阵的话,对角线上的元素都是1,自己跟自己的相似度为100%。
所以取的m个行标签(下标向量或者名字向量)跟m个列标签是一样的,并且顺序也应该一样,例如行标签是(2 3 5 7),列标签也应该是(2 3 5 7),这里我用的是下标向量而不是名字向量, 考虑到行标签和列标签都是一样的,表示的是n个对象名,所以随机取的行标签就应该是列标签,所以代码大致如下:(我是二楼的朋友的代码改的)
col.name=colnames(A)
sam.col.name=sample(col.name,m,replace=F)
B=A[sam.col.name,sam.col.name]
没太明白二楼的这句
attach(A) #为了方便数据框数据调用,
有什么用?没用它也可以,查了哈资料,大致了解跟什么内存中的搜索路径绑定有关, 从而简化了访问