我有一个包含 30000 个数据的大型数据集(作为 csv 文件)。数据是这样的:
dataset <- data.frame(person = c(1331688384,910725927,1479941022,1606882065,1877559309),
dahak = c(9,1,4,3,2))
人格达哈克
1331688384, 9
910725927, 1
1479941022, 4
1606882065, 3
1877559309, 2
我必须从 dahak 列表中计算边的权重……如果两个 dahak 数相等,则该边的权重为 1,如果两个 dahak 数不相等,则计算它们的差,权重为 x。
x = 1 - (abs(as.numeric(dahak[j]) - as.numeric(dahak[k])) / 10)
如何创建一个以 personid 作为节点、权重作为边的加权网络?我现在可以通过创建一个矩阵然后使用 python 中的 networkx 库或 R 中的 statnet 库来做到这一点,但是矩阵有 9 亿个条目!我的笔记本电脑无法容纳这个......我正在寻找另一种方式。