igraph 和 tnet 之间中心性度量的差异

2023-12-21

我正在尝试获取有向加权网络的中心性度量。我一直在使用igraph and tnet包在R。然而,我发现使用这两个包获得的结果存在一些差异,并且我对这些差异的原因有点困惑。见下文。

require(igraph)
require(tnet)
set.seed(1234)

m <- expand.grid(from = 1:4, to = 1:4)
m <- m[m$from != m$to, ]
m$weight <- sample(1:7, 12, replace = T)
igraph_g <- graph.data.frame(m)
tnet_g <- as.tnet(m)

closeness(igraph_g, mode = "in")

         2          3          4          1 
0.05882353 0.12500000 0.07692308 0.09090909 

closeness(igraph_g, mode = "out")

         2          3          4          1 
0.12500000 0.06250000 0.06666667 0.10000000 

closeness(igraph_g, mode = "total")

         2          3          4          1 
0.12500000 0.14285714 0.07692308 0.16666667 


closeness_w(tnet_g, directed = T, alpha = 1)

     node closeness n.closeness
[1,]    1 0.2721088  0.09070295
[2,]    2 0.2448980  0.08163265
[3,]    3 0.4130809  0.13769363
[4,]    4 0.4081633  0.13605442

有人知道发生了什么事吗?


发布这个问题后,我偶然发现了一个blog http://toreopsahl.com/由 Tore Opsahl 维护,tnet包裹。我用评论问了托雷同样的问题this http://toreopsahl.com/2010/04/21/article-node-centrality-in-weighted-networks-generalizing-degree-and-shortest-paths/博客的帖子。以下是托尔的回应:

感谢您使用 tnet!igraph能够承受重量;然而,距离函数igraph期望代表“成本”而不是“强度”的权重。换句话说,领带重量被认为是穿过领带所需的能量。看加权网络中的最短路径 http://toreopsahl.com/tnet/weighted-networks/shortest-paths/.

因此,如果您运行 Tore 提供的以下代码(在将权重传递给igraph),您将获得两者相同的紧密度分数tnet and igraph.

> # Load packages
> library(tnet)
>   
> # Create random network (you could also use the rg_w-function)
> m <- expand.grid(from = 1:4, to = 1:4)
> m <- m[m$from != m$to, ]
> m$weight <- sample(1:7, 12, replace = T)
>   
> # Make tnet object and calculate closeness
> closeness_w(m)

     node closeness n.closeness
[1,]    1 0.2193116  0.07310387
[2,]    2 0.3809524  0.12698413
[3,]    3 0.2825746  0.09419152
[4,]    4 0.3339518  0.11131725

>   
> # igraph
> # Invert weights (transform into costs from strengths)
> # Multiply weights by mean (just scaling, not really)
> m$weight <- mean(m$weight)/m$weight
> # Transform into igraph object
> igraph_g <- graph.data.frame(m)
> # Compute closeness
> closeness(igraph_g, mode = "out")

        2         3         4         1 
0.3809524 0.2825746 0.3339518 0.2193116
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

igraph 和 tnet 之间中心性度量的差异 的相关文章

  • 加载 plyr 包时出现问题

    我使用 R 2 13 1 但未能成功尝试在 R 中加载包 plyr 1 6 我已将其手动安装到目录 R library 中 我的代码是 libPaths R library library plyr 我收到消息 库 plyr 中的错误 pl
  • R Shiny 中表格的条件格式

    我正在尝试可视化队列分析 并想使用RenderDataTable闪亮以获得这种可视化效果 我将能够突出显示基于具有值 1 0 的单独列的所有单元格 其中 1 被着色 0 不被着色 我尝试了几件事 包括尝试使用geom tile in ggp
  • Rshinyjsshinydashboard框在radionButtons输入上展开

    基于这个问题Rshinyjsshinydashboard框在操作按钮输入时展开 https stackoverflow com questions 49659804 r shinyjs shinydashboard box uncollap
  • 将缺失的行添加到数据表中

    我有一个数据表 library data table f lt data table id1 c 1 2 3 1 2 3 id2 as factor c a a b c b d v 1 6 key c id1 id2 id1 id2 v 1
  • 如何在 R 中使用别名运行系统可执行文件?

    假设我正在 R 中运行系统命令来运行executable inputfile lt path myfile txt 我该如何更换 path myfile txt在下面的命令中inputfile如下面命令所示 system executabl
  • 如果在循环中调用summary()命令,如何获得它的输出?

    Suppose Z是特征名称的向量 如何让以下 Rscript 中的摘要命令实际打印 for var in Z cat i form paste crim var lm fit lm form data Boston summary lm
  • 聚合时间

    我的数据包含 1 分钟测量值 我希望将其聚合为 5 分钟和 10 分钟 如何在 10 分钟内将 日 列的数据分组为 5 样本数据2 structure list Day c Monday Monday Monday Monday Monda
  • 使用 != 子集 data.table 也排除 NA

    我有一个 data table 其中有一列NAs 我想删除该列具有特定值的行 恰好是 然而 我的第一次尝试导致我失去了行NA还有 gt a c 1 NA gt x lt data table a x a 1 1 2 3 NA gt y lt
  • r - 根据第一个向量重新排序第二个向量

    寻找解决方案来执行以下操作 有两个向量 a lt c 2 1 3 4 7 6 5 9 8 10 b lt c 3 2 1 6 5 4 7 8 9 10 我想创建第三个向量 它给出向量的顺序b需要重新排序 使其顺序与a 在这种情况下我想得到
  • 成对散点图;一对多[重复]

    这个问题在这里已经有答案了 有没有一种简洁的方法来创建pairs仅将一个变量与许多其他变量进行比较的图 换句话说 我可以只绘制标准的一行或一列吗 pairs不使用循环的散点图矩阵 融化你的数据 然后使用带有facet的ggplot libr
  • 使用不同的阈值替换多列中的值

    我有一个包含多个列的数据集 其中包含我想要转换为二进制的定量数据 为此 我想使用每列不同的阈值 Example Input antigen1 antigen2 antigen3 antigen4 1 215 421 2 12 2 1524
  • R + ggplot2 - 无法分配大小为 128.0 Mb 的向量

    我有一个 4 5MB 9 223 136 行 的文件 其中包含以下信息 0 0 0 0147938 3 67598e 07 0 0226194 7 35196e 07 0 0283794 1 10279e 06 0 033576 1 470
  • 在 R 中查找 Windows 用户名

    有没有办法在 R 会话中获取当前的 Windows 用户名或 Windows 主目录 Thanks 抱歉 如果我错过了什么 但我找不到任何东西 你可以做 Sys getenv USERNAME Sys getenv HOME 如果你只是输入
  • RQuantLib 包不适用于 R 3.5.0

    有没有其他人尝试加载 R 3 5 0 的 RQuantLib 包 我尝试过 以前有效 install packages drat dependencies TRUE drat addRepo ghrr install packages RQ
  • R 中数据帧的条件求和

    我正在努力将在 Excel 中进行的分析迁移到 R 因为我的数据集已达到 Excel 的限制 在 Excel 中 我有一个工作表 状态 它执行 sumifs 函数 对另一个工作表 成员 中 状态 中具有相同状态 周组合的值求和 我想在 R
  • 将角色分成几部分

    我观察到以下特征 l lt mod range1 seq m n 0 1 range2 seq 2 2 0 1 range3 seq 2 2 0 1 在 R 中使用正则表达式我想要拆分l在以下结构中 1 mod range1 seq m n
  • 在另一个函数中定义一个函数的优雅方式

    我想构建 f lt function g lt function x x 2 list 这样我就可以使用调用f g 4 并有list 导致list 16 一般来说我会在里面定义几个临时函数f用户在调用时可以调用f 我已经尝试过assign
  • 使用 ggplot 将条形图的列与线图的点对齐

    当线图的点与条形图的条具有相同的 x 轴时 有什么方法可以使用 ggplot 将它们对齐 这是我尝试使用的示例数据 library ggplot2 library gridExtra data data frame x rep 1 27 e
  • 删除ggplot2 geom_bar中没有数据的日期列[重复]

    这个问题在这里已经有答案了 我想隐藏 ggplot2 中没有数据的列 这是使用 nycflights13 库的可重现示例 library nycflights13 library dplyr library ggplot2 small da
  • 如何合并具有相同列名的数据框

    我有一个数据框 如下所示 structure list Variables structure list ADA ADA LEAD LEAD BIG4 BIG4 LOGMKT LOGMKT LEV LEV ROA ROA ROAL ROAL

随机推荐

  • 使用 Selenium Webdriver 测试 sessionStorage

    我正在编写基于 Java 的 selenium webdriver 测试 我正在测试的应用程序在 storageSession 中设置了某些值 例如sessionStorage setItem demo test 如何检查并断言存储变量的值
  • 引用 x64 dll 文件在 C# 中有效,但在 F# 中无效

    我使用最新的 VS 2010 创建了两个全新的解决方案 C 控制台应用程序 F 控制台应用程序 我引用了两个x64 dll文件 Kitware VTK dll and Kitware mummy Runtime dll 可以在这里下载 ht
  • 如何使用 OR 和汇总函数构建高级 Hibernate 查询

    我有一个在 SQL 中运行的相当复杂的查询 但为了可移植性 我想用 HQL 来表达它 我将获取用户配置的首选项值 如果存在 如果不存在 我必须使用默认值 必须从当前日期中减去该值 并将其与我感兴趣的表中的列进行匹配 select d id
  • 使用 gdb 加载 ctypes 的调试库

    我在 python 中加载了一个 C 库 X so 并使用这些标志进行了编译 GDBFLAGS gdwarf 2 g3 O0 ggdb 我使用 ctypes 从 python 调用它的一些非静态函数 我希望调试 C 库 X so X so
  • 如何在不提交的情况下触发 ASP.NET 客户端验证?

    我有一个 ASP NET 网站 WebForms NOTMVC 其中有一个分为几张幻灯片的调查表 每张幻灯片都有一个下一个按钮 显然可以转换 客户端 而不是回发或远程请求 到下一张幻灯片 在每张幻灯片中 我都有几个 ASP NET 控件及其
  • 当 HTML5 音频是静态文件时,iOS 中的 HTML5 音频会显示“直播”

    对于 Windows Chrome 可能还有许多其他浏览器 此代码适用于在audio元素 param string filename return Illuminate Http Response Illuminate Contracts
  • AFNetworking 库在 iOS 7 中失败

    使用新的 iOS 7 Beta 并下载最新版本的 AFNetworking 我转到 文件 gt 将文件添加到项目 并传入目录 AFNetworking framework 现在我遇到了大量链接器错误 为了进行完整性检查 我将提交历史记录回滚
  • Python Selenium Webdriver:查找#document 元素

    我一直在使用 Python 的 Selenium Webdriver 通过此 HTML 代码获取元素 但是 我无法访问此 document 标记内的任何元素 我都用过driver find element by xpath html bod
  • Java:如何添加SSL客户端身份验证

    我有以下代码使用 SSL 连接服务器与客户端 现在我想添加客户端身份验证 我有一个服务器密钥库 JCEKS 类型 和一个客户端密钥库 JKS 类型 服务器使用信任库 cacerts 我在其中导入了两个证书 因为我也想使用此信任库进行客户端身
  • C#.NET 中的 GOTO 语句

    try block catch GOTO block finally 在这种情况下 goto 会执行吗 它不会编译 因为 GOTO block 代替 goto block 即使它是正确的 它也不会编译 因为 C 规范指出 第 8 9 3 节
  • git pull 生成“致命:未指定远程存储库。”错误

    我想开始为 Github 上托管的项目做出贡献 我已采取以下步骤 git init git拉https github com PrincetonUniversity EVCM git https github com PrincetonUn
  • 使用相同类型的静态非空指针初始化后,指向自定义类型的静态指针保持为 nullptr

    我有两个命名空间 每个命名空间都有一个指向其中一个命名空间内的类 Window 的指针 图形 h namespace Graphic class Window void init static Window window App h nam
  • Java 数组 Setter Getter

    有人可以帮我解决一个小问题吗 例如 我想为 1 名学生设置 3 个讲座 但是当我尝试此操作时 我无法设置讲座 student setStudentLecture lecture student setStudentLecture lectu
  • Android在openstreetmap上绘制路线[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在寻找一种方法来绘制路线路径openstreetmap在我的 Android 应用程序中 我只有起点和终点 但不想要一条直线 关于
  • SF 符号在 SwiftUI 中调整为相同大小看起来不正确

    我在我的应用程序中显示一排各种 SF 符号 并希望将它们的大小调整为按钮 然而 由于 SF 符号一开始的大小并不相同 当我将它们全部调整到 44x44 时 有些符号显得太大 我可以根据它们的内容来调整它们的大小 但是我实际上不知道这些符号会
  • 如何将 jquery ajax 转换为原生 javascript?

    这是我的 ajaxHandler 我想将其转换为本机 javascript 即 使用 XMLHttpRequest 但我无法理解如何转换 ajaxHandler defaultAttributes type GET url index ph
  • vue 实例和 vue 组件之间的区别?

    我是vue js新手 在学习时有一些疑问 我现在对其实例和组件之间的关系有点困惑 据我所知 vue 构建的每个应用程序都应该只有一个实例 并且只有一个实例 如果需要 它可以有任意多个组件 但最近我看到了一个演示 在该演示中它有多个实例 所以
  • org.gdal.ogr.ogrJNI.GetDriverCount() 引起的 UnsatisfiedLinkError

    我正在 Windows 7 上使用 Eclipse Luna 使用 Java 进行开发 我正在将 gdal 用于某些 ogr 进程 并且从 eclipse 运行该应用程序没问题 但在同一台计算机上从命令行运行会遇到问题 我得到以下信息 Ca
  • Google App Engine Python、virtualenv 和 mimetypes

    我有使用 djangoappengine 构建并在 App Engine 开发服务器下运行的工作项目 所以我运行 manage py runserver 并且一切正常 所有需求 django djangoappengine 等 都位于项目根
  • igraph 和 tnet 之间中心性度量的差异

    我正在尝试获取有向加权网络的中心性度量 我一直在使用igraph and tnet包在R 然而 我发现使用这两个包获得的结果存在一些差异 并且我对这些差异的原因有点困惑 见下文 require igraph require tnet set