分界线辅导的

米夏·博亚诺夫斯基


“Intergraph”是一个R包,带有网络数据强制例程物体。有关更多信息,请参阅

这是一个简短的教程,演示如何在包中使用函数使用包含在包裹。

1加载示例数据

要显示数据,请首先加载包。

图书馆(积分)
图书馆(网络)
## ##“网络”1.18.2(2023-12-04),Statnet项目的一部分##*'news(package=“network”)'(自上次版本以来的更改)##*“引文(“网络”)”用于引文信息##*’https://statnet.org'获取帮助、支持和其他信息
图书馆(摄氏度)
## ##附加包:“igraph”
##“package:network”中屏蔽了以下对象:## ##%c%、%s%、add.edges、add.vertices、delete.edges和delete.verticles,##get.edge.attribute、get.edges、get.vertex.attribute、is.bipartite、,##is.directed、list.edge.attributes、list.vertex.attributes、,##set.edge.attribute、set.vertex.attribute
##以下对象从“package:stats”中屏蔽:## ##分解,光谱
##以下对象已从“package:base”中屏蔽:####工会

下面是“igraph”对象的摘要:

总结(示例)
##IGRAPH 258c8b4 D--15 11-##+属性:标签(v/c),标签(e/c)
总结(不包括Igraph2)
##IGRAPH 66a1bae U——15 11——##+属性:标签(v/c),标签(e/c)

以下是“网络”对象的摘要:

ex网络
##网络属性:##顶点=15##定向=真##hyper=错误##循环=假##多个=假##bipedity=假##总边数=11##缺少边=0##非缺失边=11## ##顶点属性名称:##标签vertex.names## ##边缘属性名称:##标签
不含网络2
##网络属性:##顶点=15##directed=错误##hyper=错误##循环=假##多个=假##bipedity=假##总边数=11##缺少边=0##非缺失边=11####顶点属性名称:##标签vertex.names## ##边属性名称:##标签

更多信息见附录。

2功能as网络asI图表

“网络”和“igraph”类之间的网络对象转换可以使用函数执行as网络asI图表.

2.1网络=>记录仪

通过调用函数将“网络”对象转换为“igraph”asI图表在“网络”对象上:

#检查“exNetwork”的类
(不包括网络)
##[1]“网络”
#转换为“igraph”
<- asI图表(不包括网络)
#检查结果的类别
(g)
##[1]“图表”

检查对象的边缘列表是否相同

厄尔尼诺(el.g)<- 获取编辑列表(g)
##警告:igraph 2.0.0中不推荐使用“get.edgelist()”。## 请改用“as_edgelist()”。##此警告每8小时显示一次。##调用“lifecycle::last_lifecycle_warnings()”查看此警告的位置##生成。
el.n公司<- 作为矩阵(不包括网络,“边缘列表”)
完全相同的(as.数字(el.g),as.数字(el.n))
##[1]正确

2.2igraph=>网络

通过调用函数将“igraph”对象转换为“network”as网络在“igraph”对象上:

<- as网络(示例)

注意由于“非标准”网络属性导致的警告布局,这是一个函数。打印“网络”对象无法很好地处理非标准属性。然而,所有数据和属性被正确复制。

检查对象的边缘线是否相同

标高g2<- 获取编辑列表(不包括图表)
标高2<- 作为矩阵(净,“先锋派”)
完全相同的(as.数字(标高g2),as.数字(标高n2)
##[1]正确

2.3搬运属性

“igraph”和“network”类的对象,除了存储实际的网络数据(顶点和边),允许添加属性整个网络的顶点、边和属性(称为术语中的“网络属性”或“图形属性”包“network”和“igraph”)。

顶点和边属性由大体上类似的时尚。但是,使用了网络级属性不同。“网络”类对象使用网络级属性存储各种元数据,例如网络大小,网络是否定向、二分等。在“igraph”中存储此信息分别进行。

我们将“网络”和“igraph”对象相互转换。

两种功能as网络asI图表另一个论点attrmap(属性映射)用于指定如何复制顶点、边和网络属性。这个attrmap(属性映射)参数需要数据帧。数据行数框架指定复制/重命名不同属性的规则。数据框架应具有以下列(全部为“字符”类):

默认规则由函数返回属性映射(),这些是:

attrmap(属性映射)()
##从cls到attr的类型##1网络定向迁移<NA>##2网络二部图<NA>##3网络回路图<NA>##4网络mnext图表<NA>##5网络多重图<NA>##6网络网络图<NA>##7网络超级图表<NA>##8顶点图表名称网络顶点名称

例如,最后一行指定一个规则,当类“igraph”被转换为类“network”,然后是顶点属性名称在“igraph”中,对象将被复制到顶点属性已调用vertex.names(顶点名称)在的结果对象中类”网络。

如果列托塔特包含一个不适用,那个表示未复制相应的属性。例如第一行指定一条规则,当“网络”类对象转换为类“igraph”,然后是网络属性定向的在“网络”对象中复制到“igraph”类的结果对象。

用户可以通过构造相似的数据帧,并通过参数提供它们attrmap(属性映射)到函数asI图表as网络.

作为示例,让我们将选项设置为始终删除顶点属性。首先,我们需要通过以下方式设置规则向返回的数据帧添加额外的行attrmap(属性映射)以下为:

新规则(_R)<- 数据帧(类型=“顶点”,来自cls=“网络”,来自attr=“不”,
                       tocls公司=“图表”,托塔特=不适用,
                       字符串作为因子=错误的)
#与默认规则结合
规则<- 旋转(attrmap(属性映射)(),新规则)
规则
##从cls到attr的类型##1网络定向图<NA>##2网络二部图<NA>##3网络回路图<NA>##4网络mnext图表<NA>##5网络多重图<NA>##6网络网络图<NA>##7网络超级图表<NA>##8顶点图名网络vertex.names##9顶点网络迁移<na>

现在我们可以使用它asI图表以下为:

(图1<- asI图表(不包括网络)
##IGRAPH 8fa0936 D--15 11-##+属性:标签(v/c)、na(v/l)、顶点名称(v/c)、标签(e/c)和na##|(e/l)##+8fa0936的边缘:##  [1]  2-> 1  3-> 1  4-> 1  5-> 1  6-> 7  8-> 9 10->11 11->12 14->12 12->13## [11] 13->14
(ig2<- asI图表(不包括网络,阿玛普=规则)
##IGRAPH d22eb45 D--15 11-##+属性:标签(v/c)、顶点名称(v/c)、标签(e/c)和na(e/l)##+d22eb45的边缘:##  [1]  2-> 1  3-> 1  4-> 1  5-> 1  6-> 7  8-> 9 10->11 11->12 14->12 12->13## [11] 13->14
#检查“na”是否被删除
“不” %单位:%记录仪::顶点属性名称(ig1)
##[1]正确
“不” %单位:%记录仪::顶点属性名称(ig2)
##[1]错误

来往网络对象数据帧

功能asDF公司可用于转换网络对象(第个,共个类“igraph”或“network”)添加到两个数据帧的列表中:

<- 美国国防部(示例)
字符串(l)
##列表(共2个)##$edges:“数据帧”:3个变量的11个obs.:##   ..$ V1:num[1:11]2 3 4 5 6 8 10 11 12 13。。。##   ..$ V2:num[1:11]1 1 1 1 7 9 11 12 13 14。。。##   ..$ 标签:chr[1:11]“ba”“ca”“da”“ea”。。。##$vertexes:'data.frame':两个变量中的15个:##   ..$ integraph_id:整数[1:15]1 2 3 4 5 6 7 8 9 10。。。##   ..$ 标签:chr[1:15]“a”“b”“c”“d”。。。

结果列表包含两个组件边缘顶点. The边缘组件本质上是在前两列中包含ego和alter id的边缘列表。这个其余列存储边缘属性(如果有)。对于我们的示例数据它是

$边缘
##V1 V2标签##1 2 1巴##2 3 1卡##3 4 1天##4 5 1个##5 6 7前景##6 8 9高##7 10 11日圆##8 11 12公里##9 12 13勒姆##101314百万##11 14 12海里

这个顶点组件包含顶点上的数据顶点id(与边缘)存储在前两列中。剩下的列存储顶点属性(如果有)。对于我们的示例数据是:

$顶点
##integraph_id标签##11个##22亿##33摄氏度##4 4天##5.5秒##6 6页##7 7克##8 8小时##9 9英寸##10 10焦耳##11 11千##12 12升##13 13米##14 14牛顿##15 15度

功能as网络asI图表也可以用于从上述数据帧创建网络对象。第一个参数应该是边缘列表数据帧。可选参数顶点期望具有顶点数据的数据帧(就像l$顶点). 此外,我们需要指定边应被解释为有方向的或不通过参数的定向的.

例如,要从上面从对象创建的数据帧exIgraph公司我们可以:

z(z)<- as网络(l)$边缘,定向的=真的,我$顶点)
z(z)
##网络属性:##顶点=15##定向=真##hyper=错误##循环=假##多个=假##bipedity=假##总边数=11##缺少边=0##非缺失边=11####顶点属性名称:##标签vertex.names## ##边属性名称:##标签

这实际上是我们打电话时的基本情况asNetwork(示例)


4附录

4.1网络示例

包集成包含四个示例网络:

所有四个数据集都包含:

我们将在下面的示例中使用它们。

网络使用以下代码显示如下:

布局(矩阵(1以下为:4,2,2,旁观者=真的))
操作<- 标准(三月=c(c)(1,1,2,1))
#计算布局
坐标<- 布局.fruchterman.reigold(示例)
情节(示例,主要=“心电图”,布局=坐标)
情节(不包括Igrap2,主要=“不包括Igraph2”,布局=坐标)
情节(不包括网络,主要=“ex网络”,显示标签=真的,坐标=坐标)
情节(不包括网络2、,主要=“exNetwork2”,显示标签=真的,坐标=坐标)
标准(op)(操作)

4.2会话信息

sessionInfo(会话信息)()
##R版本4.3.2(2023-10-31)##平台:x86_64-pc-linux-gnu(64-bit)##运行于:Ubuntu 22.04.3 LTS## ##矩阵产品:默认##BLAS:/usr/lib/x86_64-linux-gnu/BLAS/libblas.so.3.10.0##LAPACK:/usr/lib/x86_64-linux-gnu/LAPACK/liblapack.so.3.10.0## ##区域设置:##[1]LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C##[3]LC_TIME=pl_pl.UTF-8 LC_COLLATE=C##[5]LC_MONETARY=pl_pl.UTF-8 LC_MESSAGES=en_US.UTF-8##[7]LC_PAPER=pl_pl.UTF-8 LC_NAME=C##[9]LC_ADDRESS=C LC_TELEPHONE=C(电话)##[11]LC_MEASUREMENT=pl_pl.UTF-8 LC_IDENTIFICATION=C## ##时区:欧洲/华沙##tzcode源代码:系统(glibc)## ##附加的基本包:##[1]stats graphics grDevices utils datasets方法库## ##其他附加包:##[1]图_2.0.1.1网络_1.18.2 knitr_1.45图_2.0-4## ##通过命名空间加载(未附加):##[1]蜡笔_1.5.2 vctrs_0.6.5 cli_3.6.2##[4]rlang_1.1.3 xfun_0.41高r_0.10##[7]jsonlite_1.8.8 glue_1.7.0 htmltools_0.5.7##[10]sass_0.4.8风扇_1.0.6 rmarkdown_2.25##[13]网格_4.3.2评估_0.23 jquerylib_0.1.4##[16]藏文3.2.1 fastmap_1.1.1 yaml_2.3.8##[19]生命周期_1.0.4编译器.4.3.2 coda_0.19-4##[22]pkgconfig_2.0.3 statnet.common_4.9.0 lattice_0.22-5##[25]摘要_0.6.34 R6_2.5.1 utf8_1.2.4##[28]柱_1.9.0磁柱_2.0.3 bslib_0.6.1##[31]工具_ 4.3.2缓存_ 1.0.8