我对R很陌生,试图绘制人道主义援助分布图,看看我们是否可以识别集群。数据非常简单,由两列组成,每个受益人都有一个唯一的标识符,以及为他们提供服务的组的唯一标识符。每一行是一项活动(即一个受益人,一个提供者)。我们有大约50,000名受益人和大约6,000个团体,我想看看我们是否能够松散地识别出集群"依赖同一组人的受益人。
我觉得我应该能够使用R中的igraph来实现这一点,其中受益者是节点,共享群体创造了优势,但我不确定如何构建该公式。真的很感激任何帮助。
答案 0 :(得分:1)
这是一个启动者:
library(igraph)
# set.seed(3); g <- ba.game(10); write.table(setNames(get.data.frame(g), c("beneficiary", "group")), sep=";", row.names = F)
df <- read.table(sep=";", header=T, text='
"beneficiary";"group"
2;1
3;1
4;3
5;1
6;1
7;3
8;3
9;1
10;1')
g <- graph_from_data_frame(df)
cl <- cluster_walktrap(g)
plot(cl, g)