如何在igraph中导入二分网络的顶点和边缘属性?

时间:2018-01-25 02:43:47

标签: r igraph

我想分析通过共享公司董事关联的公司数据集。问题是我首先创建一个二分网络,然后使用它的投影,我不知道何时附加顶点属性。

我从一个包含以下列的大型数据框开始:

CompanyID,Director ID,CompanyName,Revenue,Size,Ticker,DirectorName,Director Position,ChairmanDummy,NumberofBoardSeats

我把df变成了一个图表: net< -graph.data.frame(df,directed = FALSE)

这给了我一个图表(" net"):CompanyID,Director ID关系

我不能在这个阶段添加顶点属性,因为它是一个二分网络,我只有公司顶点的属性表(列号CompanyID,Director ID,CompanyName,Revenue,Size,Ticker) 。如果我尝试包含" vertices = nodes" - 节点是包含公司顶点的文件,我得到错误: "边列表中的一些顶点名称未列在顶点数据框中#34; 可能是因为表格中没有包含导演顶点的数据。

所以我继续采取我感兴趣的二分投影:

V(净)$ type< - %df $ source中的V(net)$ name% 表(净$型) is_bipartite(网)

net.list< -bipartite_projection(net,multiplicity = TRUE) 公司< -net.list [[1]]

在这里,公司是公司 - 公司关系的预测,两家公司共享同一公司董事。

但是,此时,如果我已经创建了一个图表,如何在每个顶点(每个公司)的相关属性上添加数据?

如上所述,我有"节点"包含与每家公司相关的信息的文件,但我不知道如何将其附加到公司图表。

我尝试将图表导出为data.frame :( Firms.df< - as_data_frame(firm) 但得到错误"不能强迫班级"" igraph""到data.frame"

作为一个相关问题,我不确定如何处理导演顶点上的信息,这些信息是我基本上放弃的二分投影的一部分。其中一些是导演属性(姓名,导演职位数),但其他属于公司导演对(职位)。这些对我的分析来说不太有用,但我的感觉是我需要对初始数据框进行子集化以选择我感兴趣的功能(例如,只有属于10个或更多板的导向器),然后从结果中构建网络。数据子集 - 这是接近它们的最佳方式吗?

非常感谢任何帮助。

0 个答案:

没有答案