我的问题如下.我正在使用R/igraph处理大数据图.
我需要将clusters()$membership(即矢量)的输出转换为对值进行分组的列表.
示例:我有矢量(3,3,3,1,1,4,4)我需要一个具有以下结构的列表
l<-list()
l[["3"]]<-c(1,2,3)
l[["4"]]<-c(6,7)
l[["1"]]<-c(4,5)
Run Code Online (Sandbox Code Playgroud)
这就是maximal.cliques()函数输出的结构
我尝试在级别列表上使用lapply,然后使用它来查找某个值的索引.然而,这表现得非常糟糕.我正在处理180K元素的数据向量,其中可能有60K不同的级别.
看看split():
> x <- c(3,3,3,1,1,4,4)
> y <- 1:7
> split(y, x)
$`1`
[1] 4 5
$`3`
[1] 1 2 3
$`4`
[1] 6 7
> z <- data.frame(x,y)
> split(z, z$x)
$`1`
x y
4 1 4
5 1 5
$`3`
x y
1 3 1
2 3 2
3 3 3
$`4`
x y
6 4 6
7 4 7
>
Run Code Online (Sandbox Code Playgroud)