【发布时间】:2015-06-01 03:01:30
【问题描述】:
这是一个看似简单的问题,但我想不出答案。这是最简单的情况:
考虑以下矩阵:
friendMatrix <- matrix(c(1,1,0,0,0,
1,1,1,0,0,
0,1,1,0,0,
0,0,0,1,1,
0,0,0,1,1),nrow=5)
看起来像这样
[,1] [,2] [,3] [,4] [,5]
[1,] 1 1 0 0 0
[2,] 1 1 1 0 0
[3,] 0 1 1 0 0
[4,] 0 0 0 1 1
[5,] 0 0 0 1 1
我想做的是使用这个矩阵来识别朋友组,其中 1 表示友谊。组是基于组内的任何连接形成的,而不仅仅是一级连接(即 1 是 2 的朋友,2 是 3 的朋友但不是 1,但它们都在同一个组中)。如果一行只与它自己相关联,那么它就是它自己的组。我想在这些组中创建一个指示成员资格的data.frame(使用行号作为ID)(一个数字可以作为ID,我只是使用字母以避免混淆)。对于此示例,应如下所示:
row group
1 A
2 A
3 A
4 B
5 B
我考虑过一些聚类算法,但这似乎有点过头了,因为这些组定义明确且显而易见。
【问题讨论】:
标签: r