R 从向量/因子到列表

标签 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)

这是 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

>

关于R 从向量/因子到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7711712/

相关文章:

Rstudio Shiny 的 renderDataTable 标题多行?

r - 如何将数据转换为边列表

javascript - 向 VisNetwork Igraph 添加颜色和悬停选项

r - 为什么布冯的针法估算 pi 不能产生预期值?

r - 如何对数据帧进行分组,然后在 R 中转置和 rbind 组?

r - 如何从 Fortran 调用 R 函数?

r - tidyverse 使用两种不同的 reshape 策略(创建 calcategorized 和 binary 列)执行ivot_wider

r - 如何在 R 中每次更新图时计算组件的数量

r - 增加 R iGraph 顶点之间的空间

Python igraph : delete vertices from a graph