You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将网络原始介数中心性与Bootstrap随机化结果对比并计算P值?

简便方法判断原始介数中心性在Bootstrap分布中的位置与计算P值

核心逻辑

直接基于你已有的原始介数中心性向量和Bootstrap结果矩阵(bootcentr_Betw)进行计算,不需要依赖未定义的变量或复杂的矩阵初始化,就能快速完成分布对比与显著性检验。

假设你已有的变量:

# 原始网络的节点介数中心性(向量,长度为节点数n)
original_betw <- centr_betw(matrixnetwork, directed = FALSE, normalized = TRUE)$res
# Bootstrap结果矩阵(n行×100列,每行对应一个节点的100次随机化结果)
bootcentr_Betw <- your_bootstrap_results  # 替换为你的实际对象

步骤1:计算P值与显著性

对于每个节点的原始介数值,统计Bootstrap分布中极端值的占比,以此计算双侧P值:

# 计算单侧比例:Bootstrap结果大于原始值的次数占比
p_upper <- apply(bootcentr_Betw, 1, function(x) mean(x > original_betw))
# 计算单侧比例:Bootstrap结果小于原始值的次数占比
p_lower <- apply(bootcentr_Betw, 1, function(x) mean(x < original_betw))

# 计算双侧P值(取2倍较小的单侧比例,确保不超过1)
p_value <- pmin(2 * p_upper, 2 * p_lower, 1)
# 标记显著性:P值<0.05则认为原始值在随机分布外,具有显著性
is_significant <- p_value < 0.05

步骤2:可视化原始值在Bootstrap分布中的位置

用箱线图直观展示每个节点的Bootstrap分布,并标记原始值的位置:

library(ggplot2)
library(tidyr)

# 将Bootstrap数据转换为绘图友好的长格式
boot_df <- as.data.frame(bootcentr_Betw) %>%
  mutate(node = 1:nrow(.)) %>%
  pivot_longer(cols = -node, names_to = "iter", values_to = "betw")

# 合并原始值与显著性标记数据
original_df <- data.frame(
  node = 1:length(original_betw),
  original_betw = original_betw,
  is_significant = is_significant
)

# 生成对比图
ggplot(boot_df, aes(x = factor(node), y = betw)) +
  geom_boxplot(fill = "#f0f0f0", alpha = 0.7) +
  geom_point(data = original_df, aes(y = original_betw, color = is_significant), size = 3) +
  scale_color_manual(values = c("FALSE" = "black", "TRUE" = "#e74c3c")) +
  labs(x = "节点ID", y = "标准化介数中心性", title = "原始值与Bootstrap分布对比") +
  theme_bw()

# 保存图片到当前工作目录(可用getwd()查看路径)
ggsave("betw_bootstrap_comparison.png", width = 10, height = 6)

解决你之前的错误

  1. bootstrength未定义问题:你复制的代码依赖特定场景下生成的bootstrength对象,但你的分析流程中不需要这个变量,直接用自己的bootcentr_Betw即可完成分析。
  2. non-numeric matrix extension错误:错误原因是bootstrength不是数值型矩阵或维度不匹配,上面的方法完全避开了这个变量,直接基于你已有的数据计算,不会出现此类问题。

内容的提问来源于stack exchange,提问作者Ana Paula Castro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 16:55:09