【发布时间】:2014-01-31 20:24:29
【问题描述】:
我正在尝试在 R 中计算一个邻接矩阵,以解释二元模型中的网络自相关。我可以使用 outer() 构造我需要的矩阵,但除非我能弄清楚如何让 R 以某种稀疏矩阵格式给我结果,否则这不会缩放:
N = 10
g = simplify(watts.strogatz.game(1, N, 2, 0.05))
EL = get.edgelist(g)
ego_out = outer(EL[,1], EL[,1], '==')
alter_out = outer(EL[,2], EL[,2], '==')
ea_out = outer(EL[,1], EL[,2], '==')
ae_out = outer(EL[,2], EL[,1], '==')
pair_out = ego_out | alter_out
opp_out = ea_out | ae_out
pair_out | opp_out
这显然不能扩展(如果你有勇气尝试设置 N = 10000000)。
【问题讨论】:
-
您是否查看过
Matrix和/或SparseM包 - 它们确实支持稀疏矩阵运算。 -
@user102890 是的,我没有看到类似 outer( ..., '==') 的东西
标签: r