这是一个基于R Shiny开发的企业级心理量表网络分析应用,支持完整的横断面网络分析研究流程。从简单的教学脚本发展为功能完整、技术健壮、研究友好的专业心理网络分析工具。
- 代码规模:15,000+ 行专业R代码
- 功能模块:11个主要分析模块,104个专业函数
- 支持量表:8+ 种核心心理量表
- 分析方法:涵盖所有主流网络分析技术
- 汇总层:使用量表总分或维度得分构建网络
- 子量表层:基于各个维度得分的网络结构
- 条目层:原始题目级别的详细网络关系
- 动态计算:基于powerly包的网络样本量计算
- 参数自动提取:从网络结果中自动提取节点数和密度
- Bootstrap验证:支持置信区间估计
- 并行计算:多核加速计算
- 可视化:样本量曲线图和详细统计表
- 智能量表识别:自动识别8+种心理量表
- 多层级变量生成:总分、维度得分、条目得分
- 自动质量检查:Cronbach's α信度检验、缺失值分析
- 灵活计分规则:支持sum、mean两种计分方式
- CSV配置化管理:量表配置外部化管理
- 量表组合识别:自动分析量表组合模式
- 个性化故事线:生成对应的研究假设和理论框架
- 分析建议:提供针对性的网络分析策略
- 研究背景:自动生成文献背景和理论依据
- 桥接节点识别:自动识别连接不同心理构念组别的关键节点
- 变量分组配色:支持自定义变量分组和配色方案
- 快速分组操作:提供"全部合并"、"每个一组"、"按类型分组"等快捷功能
- 临床意义:桥接节点通常是干预的优先目标
- 分层级选择:每个量表可独立选择分析层级(汇总/子量表/条目)
- 实时预览:显示最终变量配置和数据质量状态
- 智能推荐:基于量表特性提供默认层级建议
- 质量评估:实时显示完整观测数量和缺失值统计
支持以下心理量表的自动识别:
- AUDIT: 酒精使用障碍识别测试
- HRF: 习惯-奖赏-恐惧动机量表
- PHQ-9: 患者健康问卷抑郁量表
- GAD-7: 广泛性焦虑量表
- BDI-II: 贝克抑郁量表第二版
- DASS-21: 抑郁焦虑压力量表
- IAT: 网络成瘾测试
- FTND: 法格斯特姆烟草依赖测试
- 自动数据验证和质量检查
- 缺失值处理和异常值检测
- 样本量和完整性评估
- Ising模型:基于psychonetrics包的温度分析
- 8模型约束层级:从自由模型到完全约束模型
- 模型比较:AIC/BIC信息准则比较
- 可视化:温度比较条形图和网络热图
- 结构学习:HC、TABU、MMHC等算法
- 因果推理:DAG结构和条件独立性检验
- Bootstrap验证:结构稳定性评估
- 专业可视化:使用Rgraphviz包的DAG图
- 网络结构可视化:使用 quickNet 包的高质量网络图
- 中心性指标分析:强度、接近性、介数中心性计算
- 独立稳定性分析:使用 bootnet 包进行边稳定性和中心性稳定性检验
- NetCompare 组间比较:支持网络比较测试(NCT)和差异网络可视化
- 交互式参数调整:实时调整网络阈值和Bootstrap参数
- 多种估计方法:EBICglasso、MGM、Ising、相关网络、偏相关、TMFG等
- 高质量网络图:PDF格式专业图表
- 分析数据下载:详细的统计结果
- 完整R脚本:可重现的分析代码
- 分析报告:自动生成的研究故事
确保已安装 R (≥ 4.0.0) 和必要的包:
# 核心依赖包
install.packages(c(
"shiny", "shinydashboard", "shinyWidgets",
"DT", "plotly", "readxl", "dplyr", "ggplot2"
))
# 网络分析包
install.packages(c(
"bootnet", "bnlearn", "igraph",
"psychonetrics", # 温度分析
"powerly" # 样本量计算
))
# 从 GitHub 安装 quickNet
if (!require(devtools)) install.packages("devtools")
devtools::install_github("LeiGuo0812/quickNet")
# 从 Bioconductor 安装图形包
if (!require("BiocManager")) install.packages("BiocManager")
BiocManager::install("Rgraphviz")# 方法1:完整启动脚本(推荐)
source("run_app.R", encoding = "UTF-8")
# 方法2:安全启动脚本
source("安全启动.R", encoding = "UTF-8")
# 方法3:手动启动(需要手动安装依赖)
shiny::runApp(".", port = 3838)为什么要使用安全启动?
- 避免 bruceR 包与 Shiny 的
p()函数冲突 - 自动检查必要文件和依赖包
- 提供清晰的启动状态信息
启动后,浏览器会自动打开应用界面:http://127.0.0.1:3841
- CSV 文件 (
.csv) - Excel 文件 (
.xlsx,.xls)
- 行:每行代表一个被试/参与者
- 列:每列代表一个测量指标(题目或维度得分)
为了自动识别量表结构,请遵循以下命名规范:
量表前缀_题目编号
示例:
- AUDIT量表:
AUDIT10_1,AUDIT10_2, ...,AUDIT10_10 - HRF量表:
HRF18_1,HRF18_2, ...,HRF18_18 - PHQ量表:
PHQ9_1,PHQ9_2, ...,PHQ9_9
- 最小样本量:30 个被试
- 数据完整率:≥ 70%
- 单个变量缺失率:≤ 30%
- 点击"数据上传"标签页
- 选择数据文件(CSV 或 Excel 格式)
- 确认数据包含列名
- 查看数据预览、量表识别结果和质量检查
- 点击"变量构造"标签页
- 查看智能量表识别结果
- 选择计分方式(sum 或 mean)
- 运行量表计算:
- 自动计算总分和维度得分
- 生成信度检验报告
- 质量控制和异常值检测
- 查看计算结果和质量报告
- 点击"变量选择"标签页
- 为每个量表独立选择分析层级:
- 汇总层:适合探索总体关系模式(AUDIT、PHQ推荐)
- 子量表层:适合研究维度间关系
- 条目层:适合详细的题目级分析(HRF推荐)
- 配置变量分组(可选):
- 默认每个量表一组
- 可合并多个量表为一组
- 支持"全部合并"、"每个一组"等快速操作
- 查看实时数据质量状态(完整观测数、缺失值统计)
- 确认变量配置
- 点击"网络分析"标签页
- 调整分析参数:
- 网络阈值(推荐 0.05)
- Bootstrap 次数(推荐 1000-5000)
- 桥接分析设置(如果有多个变量组)
- 点击"运行分析"
- 查看网络图和中心性结果
选择进行以下高级分析:
🌡️ 网络温度分析:
- 点击"网络温度分析"标签页
- 设置分组变量和二值化方法
- 运行8模型约束层级比较
- 查看温度比较图和模型评估
🧠 贝叶斯网络分析:
- 点击"贝叶斯网络"标签页
- 选择结构学习算法
- 运行DAG结构推理
- 查看因果关系图和Bootstrap验证
📏 样本量计算:
- 点击"样本量计算"标签页
- 系统自动提取网络参数
- 运行powerly分析
- 查看样本量曲线和建议
- 点击"稳定性分析"标签页
- 运行独立的Bootstrap稳定性检验
- 查看边稳定性和中心性稳定性图表
- 网络图:节点大小表示中心性,边粗细表示关系强度
- 桥接网络:方形节点表示桥接节点,连接不同心理构念
- 中心性分析:识别网络中的核心节点
- 稳定性分析:评估网络结构的可靠性
- 智能故事:自动生成的研究建议和理论解释
- 点击"结果下载"标签页
- 下载专业图表:
- 网络图(PDF格式)
- 桥接网络图(PDF格式)
- 中心性图(PDF格式)
- 稳定性分析图(PDF格式)
- 温度分析图(PDF格式)
- 贝叶斯DAG图(PDF格式)
- 下载分析数据:
- 详细统计结果(CSV格式)
- 网络邻接矩阵
- 中心性指标表
- 下载完整R脚本:
- 可重现的分析代码
- 自动记录的操作步骤
- 包含所有参数设置
NetworkApp/
├── app.R # 主应用文件(9,231行,600KB+)
├── utils.R # 工具函数库(4,035行,104个函数)
├── config.R # 配置文件(451行,8种量表定义)
├── scale_calculator.R # 量表计算引擎(483行)
├── 05_ScaleCalculation.R # 高级量表计算(650行)
├── story_generator.R # 分析故事生成器(311行)
├── run_app.R # 完整启动脚本(192行)
├── 安全启动.R # 推荐启动脚本(70行)
├── README.md # 本说明文档
├── CLAUDE.md # Claude 代码助手指南
├── 最终使用说明.md # 详细使用指南
└── example_data.csv # 示例数据文件
- 首页 - 横断面网络分析研究框架介绍
- 数据上传 - 文件上传和数据验证
- 变量构造 ⭐ - 高级量表变量构造和计分
- 变量选择 ⭐ - 专门的变量层级选择页面
- 网络分析 - 核心网络分析和可视化
- 网络温度分析 ⭐ - Ising模型温度分析
- 贝叶斯网络 ⭐ - 因果推理和DAG分析
- 稳定性分析 - 独立的Bootstrap稳定性检验
- 样本量计算 ⭐ - 基于powerly的样本量计算
- 结果下载 - 图表和数据导出
- 使用说明 - 说明文档
-
数据处理模块 (
utils.R)- 自动量表识别:
parse_scale_structure_advanced() - 数据验证:
validate_data() - 维度得分计算:
compute_scale_scores_advanced()
- 自动量表识别:
-
网络分析模块 (
utils.R)- 安全网络分析:
safe_network_analysis() - 桥接网络分析:Bridge分析和bridgeGroup识别
- 样本量计算:基于powerly包的蒙特卡洛方法
- 结果导出:
export_analysis_results()
- 安全网络分析:
-
配置管理模块 (
config.R)- 量表结构定义:
SCALE_CONFIGS - 分析参数:
NETWORK_PARAMS - 可视化配置:
VIZ_CONFIG
- 量表结构定义:
应用内置了多种心理量表的配置,包括:
Habit (习惯动机): 题目 3, 6, 7, 10, 14, 16
Reward (奖赏动机): 题目 2, 4, 9, 12, 15, 17
Fear (恐惧动机): 题目 1, 5, 8, 11, 13, 18
题目 1-8: 0-4 分
题目 9-10: 0-4 分(权重 ×2)
总分范围: 0-40 分
- 📏 动态样本量计算:基于powerly包的蒙特卡洛算法
- 🔧 智能变量构造:自动量表识别和计分系统
- 📖 智能故事生成:个性化研究建议和理论框架
- 🌡️ 网络温度分析:8模型约束层级的Ising模型比较
- 🧠 贝叶斯网络分析:DAG结构学习和因果推理
- 📝 完整代码导出:可重现的R脚本自动生成
- 多核并行计算:支持样本量计算和Bootstrap分析的并行处理
- 内存管理:优化大数据集处理和缓存机制
- 错误处理:完善的异常处理和用户友好的错误提示
- 函数冲突保护:多层次基础函数锁定机制
- CLAUDE.md - Claude代码助手完整指南
- 最终使用说明.md - 详细的用户使用指南
- 快速开始.md - 快速入门教程
- 应用内置使用说明页面
- 智能故事生成器提供分析建议
- 实时数据质量评估和提示
- ✅ 新增样本量计算功能
- ✅ 完善变量构造系统
- ✅ 新增智能故事生成器
- ✅ 优化函数冲突保护
- ✅ 新增桥接网络分析功能(Bridge Analysis)
- ✅ 支持多组别间桥接节点识别
- ✅ 桥接网络可视化(方形节点表示桥接节点)
- ✅ 桥接分析结果导出和下载功能
- ✅ 智能检测变量分组,自动启用桥接分析选项
- ✅ 新增完整观测数量实时显示功能
- ✅ 变量选择页面显示每个变量的缺失值统计
- ✅ 智能数据质量评估和分层提示系统
- ✅ 改进样本量不足的错误提示和建议
- ✅ 增强变量预览界面的信息密度
- ✅ 完整的6标签页应用架构
- ✅ 专门的变量选择页面和服务器端逻辑
- ✅ 解决bruceR包冲突问题
- ✅ 移除15条目硬限制,改为30节点建议
- ✅ 修复网络图显示问题
- ✅ 完整的多层级网络分析功能
- ✅ 独立的稳定性分析模块
欢迎贡献代码或提出建议:
- 量表配置扩展(在
config.R中添加新量表) - 分析功能增强(在
utils.R中添加新函数) - 界面优化建议
- 错误报告和修复
本项目基于原始 toturial.R 开发,遵循相同的许可协议。
📧 联系方式: 如有问题请通过 GitHub Issues 反馈
🌟 致谢: 感谢 开发quickNet 包的郭垒