R从矢量/因子到列表

cya*_*gue 2 r igraph

我的问题如下.我正在使用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不同的级别.

Rai*_*ner 5

看看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)