我有一个对称矩阵(维度:12,000 X 12,000),名为A,我想基于一个公式创建另一个矩阵,该公式取决于元素的位置。为了解释: 我想使用以下公式创建D矩阵(基于A中的值):
Dij = 1 - (aij/sqrt(aii*ajj))
一个关于 A 的小例子是:
A = matrix(c(1,0.5,0.4,0.3,0.2,0.5,1.1,0.5,0.4,0.3,0.4,0.5,1.2,0.5,0.6,0.3,0.4,0.5,1,0.2,0.2,0.3,0.6,0.2,1.2),ncol=5,nrow=5, byrow=T)
我有一个巨大的矩阵,最好的做法是什么?
apply
、mapply
或sapply
中的一个。如果你不熟悉*apply
函数族,那么(a)现在是深入了解的好时机,或者(b)for
循环也可以“同样有效”。 - r2evans