我正在与 R 合作。
我有一个矩阵结构,但存储在三个列表 IND1、IND2 和 VAL 中,每个列表的长度都相同;我需要将 VAL 中的值存储在矩阵 MAT 中,这样:
for each i in 1 to N:
MAT[IND1(i), IND2(i)] == VAL(i)
正如您所猜测的那样,MAT 的最终大小不一定是 NxN,但我确实知道大小必须是多少(如果您需要知道大小,可以将其称为 m,因为对我来说它必须是方阵)。
Matlab 有一个很好的函数来创建一个稀疏矩阵,它完全可以做到这一点,但我需要用 R 语言来完成这个,希望没有循环,有谁知道这是否可以做到,请告诉我怎么做。提前致谢。
PS:我已经尝试了明显的:
MAT <- matrix(nrow=m, ncol=m)
MAT[IND1, IND2] <- VAL
但我得到了一个奇怪的结果(所有行都有相同的重复值)