R 语言 速查 & 简明教程 #
结构 #
向量
|
|
矩阵 matrix
|
|
数组 array 数组(array)与矩阵类似,但是维度可以大于2。
|
|
r 语言定义、语法 https://cran.r-project.org/doc/manuals/r-patched/R-lang.html
https://cran.r-project.org/doc/manuals/r-patched/R-intro.html#R-commands_003b-case-sensitivity-etc
ERGM 用法速查 #
|
|
并行计算 #
|
|
在 ergm(Exponential Random Graph Models)模型中,节点属性(node-level covariates)是网络建模中非常重要的特征,可以用来捕捉节点之间相互联系的影响。除了你提到的 nodecov 和 nodefactor,ergm 还有很多其他函数用来表示节点的特定属性和交互。下面是常用的一些函数及其介绍:
-
nodecov
• 功能: 计算网络中的节点属性协变量,并将其作为网络统计量来建模。例如,节点的度数、权重或其他连续变量都可以通过这个函数引入。 • 语法: nodecov(attrname) • 示例: 如果网络中的每个节点都有一个年龄属性,你可以使用 nodecov(“age”) 来考察节点的年龄如何影响边的形成。
-
nodefactor
• 功能: 用于建模网络中节点的因子型属性(类别变量)。nodefactor 允许模型考虑同类节点之间形成边的倾向。不同类别的节点可能有不同的连接模式。 • 语法: nodefactor(attrname, base = NULL) • 示例: 假设你有一个表示性别的节点属性 “gender”,可以使用 nodefactor(“gender”) 来考察男性或女性节点在边形成中的影响。
-
nodematch
• 功能: 评估网络中相同属性类别的节点之间形成边的倾向,常用于衡量同质性。该函数考察是否同一类别的节点更容易相互连接。 • 语法: nodematch(attrname, diff = FALSE) • 示例: nodematch(“gender”) 表示查看性别相同的节点是否更容易形成边(即男性连接男性,女性连接女性)。diff = TRUE 会将不同类别分开建模。
-
nodeicov 和 nodeocov
• 功能: 分别用于有向网络中建模输入节点(nodeicov)和输出节点(nodeocov)的协变量。这些函数允许你分别对入边和出边的节点属性进行建模。 • 语法: nodeicov(attrname) 和 nodeocov(attrname) • 示例: 在一个有向网络中,如果节点有收入属性,可以使用 nodeicov(“income”) 来分析连接入点的节点收入如何影响入边形成。
-
nodeifactor 和 nodeofactor
• 功能: 分别用于有向网络中建模输入节点和输出节点的因子型属性。与 nodefactor 类似,nodeifactor 作用于连接的输入节点,nodeofactor 作用于连接的输出节点。 • 语法: nodeifactor(attrname, base = NULL) 和 nodeofactor(attrname, base = NULL) • 示例: 在有向网络中,nodeifactor(“status”) 可以查看入边节点的 status 属性如何影响网络结构。
-
absdiff
• 功能: 考察连接的两个节点在属性上的绝对差值是否影响它们形成边的倾向。适用于连续变量,例如收入、年龄等。 • 语法: absdiff(attrname) • 示例: absdiff(“age”) 用来分析节点的年龄差异对连接概率的影响,即年龄差异越大是否越难连接。
-
nodemix
• 功能: 类似于 nodematch,但用于不同类别的节点之间的混合情况。nodemix 允许同时建模同类节点和异类节点之间的连接模式。 • 语法: nodemix(attrname, base = NULL) • 示例: 如果网络节点有一个 “occupation” 属性,可以使用 nodemix(“occupation”) 来建模不同职业之间的节点如何相互连接(例如,医生与医生、医生与律师等的连接概率)。
-
diff
• 功能: 对节点的连续属性进行差值计算,并将其应用于模型。这与 absdiff 类似,但没有取绝对值。 • 语法: diff(attrname) • 示例: diff(“age”) 会分析节点之间的年龄差距如何影响边的形成,差距越大,连接可能性越小或越大。
-
degree
• 功能: 用来建模节点的度(degree),即节点连接的数量。可以设置一个范围或具体的度数来分析节点度数如何影响连接模式。 • 语法: degree(deg), 其中 deg 是度数。 • 示例: degree(1:3) 用来考察度数为 1 到 3 的节点连接模式。
-
gwesp 和 gwdsp
• 功能: 用于建模以三角形为中心的局部网络结构(闭合三元组)。这对于捕捉节点的三角关系或密集的本地连接至关重要。 • 语法: gwesp(decay = value) 和 gwdsp(decay = value) • 示例: gwesp(0.5) 表示研究局部闭合三元组(即三角形)的效应。
-
isolates
• 功能: 考察网络中的孤立节点(即度数为 0 的节点)。该统计量用于捕捉孤立节点在网络中的分布。 • 语法: isolates() • 示例: 使用 isolates() 来研究网络中有多少节点没有连接到任何其他节点。
-
concurrent
• 功能: 用于捕捉节点是否存在多个连接(即节点是否有多个相邻节点)。通常用于研究同时有多个合作关系的节点。 • 语法: concurrent() • 示例: concurrent() 会考察那些与多个其他节点形成连接的节点,并将其作为模型中的一部分。
-
triangles
• 功能: 用于研究网络中的三角形(即三元闭合关系)。三角形在社会网络分析中非常重要,因为它们反映了关系的密集性和网络的凝聚力。 • 语法: triangles() • 示例: triangles() 可以用来捕捉节点之间是否有三角关系(即三个人互相认识的关系)。
总结
• 连续变量: 可以使用 nodecov、nodeicov、nodeocov、absdiff 等函数建模。
• 分类变量: 可以使用 nodefactor、nodeifactor、nodeofactor、nodemix 等函数。
• 网络结构属性: 可以使用 degree、triangles、concurrent 等函数来捕捉网络结构和节点间的关系。
• 同质性与异质性: 使用 nodematch、nodemix 来建模节点间相同或不同类别的连接倾向。
这些函数结合起来,可以灵活地描述节点属性如何影响网络中的边结构,从而构建符合实际情况的 ERGM 模型。