CAT12中纵向数据Basic Models在SPM12中Estimate后出现Design Matrix错误不能Define contrast的解决办法
- 问题复现
- 问题定位
- 解决问题
问题复现
MATLAB版本2018a,SPM12版本7771,CAT12版本r2000。
按照Manual进行LONGITUDINAL DATA IN TWO GROUPS(Page 43-44)分析。
Factor两个,subject被SPM识别,time被SPM当作Factor(SPM12使用condition描述时间点),两个Main effects为2和1。
Run Batch之后得到如下的设计,是正确的:
问题从Estimate开始,可以看到执行过程出现了ReML Iteration
在SPM对照管理中可以看到右侧的设计矩阵有问题:
问题定位
过程简略描述一下就是通过对比SPM Specify 2nd-level和CAT12生成的SPM.mat文件差别发现存在SPM.xVi.V和SPM.xVi.Vi的差异
解决问题
首先读取CAT12生成的SPM.mat
load('SPM.mat')
其次将CAT12的SPM.mat修改
复制粘贴执行下述代码:
SPM.xVi.V = sparse(eye(length(SPM.xVi.I)));
SPM.xVi = rmfield(SPM.xVi,'Vi');
save('SPM_modified.mat','SPM')
执行后在当前目录生成一个SPM_modified.mat
把这个SPM_modified.mat改名为SPM.mat替换CAT12生成的SPM.mat即可(因为Estimate的Batch Editor只读取SPM.mat,或者把Filter修改)
经过测试,Estimation没有问题
SPM contrast manager设置没有问题
更多推荐
CAT12中纵向数据Basic Models在SPM12中Estimate后出现Design Matrix错误不能Define contrast的解决办法
发布评论