在我的研究中,每个受试者都被问到 n*(n-1)/2 个问题,关于他对 n=5 个对象之间的差异的主观看法(以后用于 3 向多维缩放)。
我想从 10 项向量 v 创建一个相异矩阵,例如按以下方式排列(对于 n = 5):
1
2 5
3 6 8
4 7 9 10
这是一个代码示例代码,用于为这个特定的 n 实现它:
dissim<-rep(0,n*n)
dim(dissim)<-c(5,5)
dissim[2,1]<-v[1]
dissim[3,1]<-v[2]
dissim[4,1]<-v[3]
dissim[5,1]<-v[4]
dissim[3,2]<-v[5]
dissim[4,2]<-v[6]
dissim[5,2]<-v[7]
dissim[4,3]<-v[8]
dissim[5,3]<-v[9]
dissim[5,4]<-v[10]
是否有任何实用函数可以帮助对任何 n 执行此操作?我知道我可以使用两个嵌套循环来做到这一点,但如果我使用专用函数,代码会更清晰。
也许我会在这个过程中了解另一个有用的库的存在?