我试图通过在数百名政治家和他们的竞选捐助者之间建立加权联系来绘制和分析政治捐款网络(其中权重是捐赠的金额)。到目前为止,我已经操纵了数据,因此我有一个包含政治家ID,捐赠者ID和金额的边缘列表:
pol_id don_id amt
P00003392 C00344531 $188,000.00
P00003392 C00348540 $168,359.00
P00003392 C00589507 $12,000.00
P80001571 C90016221 $654,835.25
问题是有170,000行,这对于一台计算机来说太大了。我对Spark有点熟悉并且知道它可以用于过滤和操作大量数据,但从未见过它用于网络数据。有谁知道如何做到这一点或对替代软件或方法有任何建议?
在较小的范围内,只使用从数据集中过滤掉的一位政治家,这是我创建网络对象并使用igraph方法绘制它的代码:
filtered_df <- index %>% filter(can_id == "P00003392")
df2 <- filtered_df %>% as.matrix()
g=graph.edgelist(df2[,1:2], directed=TRUE)
E(g)$weight=as.numeric(df2[,3])
plot(g,layout=layout.fruchterman.reingold,edge.width=E(g)$weight/2)
我是StackOverflow的新手,所以请让我知道这个问题需要澄清或者可以改进。