Shiny performer of HLM/GLM (beta version 0.9.4.1)

更新说明:

  • 目前将若干常用的界面进行了整合,如果需要,请移步:
张光耀:Shiny dashboard of HLM/GLM (beta version 0.9.5.0)zhuanlan.zhihu.com图标
  • 0.9.4.1 – 添加了残差图的模块;
  • 0.9.4.0 – 兼容了BruceR包输出模型summary结果的功能;
  • 0.9.3.5 – 增加了小提琴图中设置散点大小和透明度的选项;
  • 0.9.3.4 – 提供了更便利的数据清洗操作,分类筛选的类别数不再受限制;
  • 0.9.3.3 – 提供了绘图中选取不同字体的功能;
  • 0.9.3.2 – 优化了生长曲线绘图;
  • 0.9.3.1 – 修正了生存分析中,调整图参数时必须重新数据分析的bug;
  • 0.9.3 – 增加了生存曲线分析,生长曲线分析的界面;修复了 formula_generate_shiny() 界面中三因素下载问题的bug;
  • 0.9.1 – 增加了一些彩蛋,供用户自己发掘;
  • 0.9.0 – 正式整合 HLM/GLM 分析模块;

这里介绍一下本人基于R语言做的进行HLM/GLM的shiny可视化界面。

在RStudio中执行下面的代码,即可安装和加载相关的数据包,以及创建用到的函数。以及会输出一个对该shiny的简要介绍:

source('https://raw.githubusercontent.com/usplos/Eye-movement-related/master/LmmCode.R')

可以看到,主要包含7个shiny界面的函数,分别进行数据筛选、公式产生、模型筛选、模型建构、power 计算、生存曲线分析、生长曲线分析的功能。

当然很可能安装数据包会出现失败,这可能因为软件的版本问题,或者数据包的版本问题导致的,以下是该shiny需要的软件/数据包版本(另外不同的安装镜像也可能导致安装失败,如何调整安装镜像请自行百度),请保证已经安装这些版本的数据包(建议直接安装最新版的R 和 RStudio):

  • 数据筛选界面:执行下面命令,启动界面
Data_Filter_Shiny()
  • 公式产生界面:
formula_generate_shiny()
  • 模型选择界面:
LMMRun_Parallel_shiny()

singular表示是否为畸形拟合,BIC反应模型拟合程度(数值越小,拟合越好),目前的版本可以输出模型是否收敛converge

这里主要考虑的是随机斜率,因为随机斜率的组合会导致模型是否能正常收敛(就我的分析经验,固定因子不太会影响是否正常收敛,而且固定因子是我们操纵和想考察的自变量,基本不会根据模型拟合和收敛的情况来删改)。

当然固定因子的不同组合也会导致模型的拟合程度发生变化,但这里只考虑随机效应的情况,因此这里固定了固定效应。

  • 模型建构界面:
LMM_Model_Info_Shiny()

绘图时横轴和分组变量是按照简单效应里的predictor和modulator1和modulator2设定的,如果只给了predictor,则绘制单因素的图形。目前有APA,Solarized,The Economist, Stata,Google Docs,Excel,Journal of Wall Street 绘图模板。

  • Power 计算界面
Power_Shiny()

之前给组内人使用时,有人反映如果某个固定因子是数值型的变量,比如A和B分别有1和2两个水平,那么在这个shiny里被当成了数值型而不是因子型的变量,无法正确建模,这里有一个简便的解决方法,即输入formula时,输入为下面的格式即可解决:

Y ~ factor(A) * factor(B) + (1|Sub)
  • 生存曲线分析
SurvivalAnalysis_Shiny()
  • 生长曲线分析
GrowthCurveAnalysis_shiny()

原始数据:

分析所用数据:


有人会问,前有SPSS,后有JAMOVI,为什么做这个,主要因为以下几点:

  1. SPSS,用正版,我穷;用盗版,我不屑;
  2. JAMOVI虽免费,但是不能实现广义混合线性模型(我去年11月份问了GALMj模块的作者,收到答复是不久就可以做了,但是到目前也不能做。。);
  3. JAMOVI在绘图可操作的参数太少,修改标签还得重命名变量;
  4. 选取最佳模型上,需要重复建模,太耗费时间,曾做过一个多线程建模的函数,而且也不是每个人都能熟练使用函数,于是想干脆做个可视化界面,做完了又想不如再做个HLM分析的可视化界面,于是有了现在这个东东。

此外此shiny是按照眼动数据分析开发的,可能会不适用于其他一些情况。

目前的版本可以读取和储存csv、txt、xls、xlsx文件。

此shiny为测试版,目前计划先测试1个月。根据反馈 selectively 进行优化,优化过后再开放使用,so look out for updates.

感谢在此期间提供在 achievable functions 上优化建议的 盼盼师姐 @冷面热血伪文青 ,魏小鱼同学 @魏小鱼 以及 last but most important 我的室友包子同学 @包寒吴霜

声明:本shiny的开发完全由本人独自完成,若需转载,请标明出处(zhuanlan.zhihu.com/p/68) 及其 作者(张光耀 中国科学院心理研究所),侵权必究。

编辑于 2019-08-29

文章被以下专栏收录