【问题标题】:Manipulating Network Data in R在 R 中操作网络数据
【发布时间】:2010-11-13 06:08:00
【问题描述】:

我有一个数据框,详细说明了 N 个节点之间的边权重。是否有处理此类数据的软件包?

例如,我想将以下信息绘制为网络:

  p1 p2 counts
1  a  b    100
2  a  c    200
3  a  d    100
4  b  c     80
5  b  d     90
6  b  e    100
7  c  d    100
8  c  e     40
9  d  e     60

【问题讨论】:

    标签: r networking social-networking


    【解决方案1】:

    一个选项是network 包,它是用于统计社交网络分析的R 包statnet 系列的一部分。它以稀疏的方式处理网络数据,这对于较大的数据集非常有用。

    下面,我执行以下操作:

    • 将边缘列表(前两列)加载到网络对象中
    • 将计数分配为称为权重的边缘属性。
    • 使用 gplot 绘制网络。 (有关更改边缘厚度的信息,请参阅帮助页面。)
    • 绘制一个社会矩阵(只是一组代表邻接矩阵的 5x5 块,其中 (i,j) 单元格被相对计数着色)
    A = read.table(file="so.txt",header=T) 一种 p1 p2 计数 1 a b 100 2 a c 200 3 天 100 公元前4世纪80 5 b d 90 6 比 100 7 c d 100 8 c e 40 9 d e 60 图书馆(网络) 净 = 网络(A[,1:2]) # 获取有关您的网络的摘要信息 网 网络属性: 顶点 = 5 定向 = TRUE 超=假 循环 = FALSE 多个 = FALSE 二分 = FALSE 总边数 = 9 缺失边= 0 非缺失边 = 9 顶点属性名称: 顶点名称 邻接矩阵: 一个 b c d e 一个 0 1 1 1 0 b 0 0 1 1 1 c 0 0 0 1 1 d 0 0 0 0 1 e 0 0 0 0 0 set.edge.attribute(net,"weight",A[,3]) gplot(网络) ## 另一个很酷的功能 s = as.sociomatrix(net,attrname="weight") plot.sociomatrix(s)

    【讨论】:

    • 很好的答案!很有帮助!
    【解决方案2】:

    这里是如何制作igraph中数据的网络图:

    d <- data.frame(p1=c('a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'd'),
                    p2=c('b', 'c', 'd', 'c', 'd', 'e', 'd', 'e', 'e'),
                    counts=c(100, 200, 100,80, 90,100, 100,40,60))
    
    library(igraph)
    g <- graph.data.frame(d, directed=TRUE)
    print(g, e=TRUE, v=TRUE)
    tkplot(g, vertex.label=V(g)$name)
    

    【讨论】:

      【解决方案3】:

      我也一直在 igraph 工作。创建图形的一种方法是将所有“从”“到”节点的列表写出到文本文件,然后将其作为图形对象读回。图对象可以经受许多图论过程,可以处理相当大的网络。

      【讨论】:

        【解决方案4】:

        根据我的经验,igraph 是我最喜欢的大型图论工作包。它具有内存效率,并且具有一些非常好的算法。 igraph 使用内部类似边缘列表的数据结构。
        对于更简单/更小的事情,我倾向于使用“sna”包(“社交网络分析”)。它非常适合交互式工作和小型网络的绘图。 sna 更多地使用邻接矩阵数据结构。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多