问题描述
我正在尝试使用 1 个主体间变量和 2 个主体内变量运行 ANCOVA,但遇到了一个对我来说毫无意义的错误。我的数据如下所示:
扫描 | ID | 区域 | ALFF | 年龄 | 响应 |
---|---|---|---|---|---|
1 | 20 | 辅助 | 0.826 | 阿道尔 | 77.25 |
2 | 20 | 辅助 | 1.116 | 阿道尔 | 73.18 |
1 | 22 | 辅助 | 0.362 | 成人 | 78.70 |
2 | 22 | 辅助 | 0.849 | 成人 | 72.58 |
1 | 20 | MDM | 0.826 | 阿道尔 | 79.25 |
2 | 20 | MDM | 1.116 | 阿道尔 | 71.18 |
1 | 22 | MDM | 0.778 | 成人 | 79.70 |
2 | 22 | MDM | 0.291 | 成人 | 73.58 |
我的 ANCOVA 代码是:
Full_Anova_ALFF% group_by(Region) %>% do(fit=aov_car(ALFF ~ AgeScan+Error(ID/ScanResp),data = .))>
当我运行它时出现此错误:
转换为因子:年龄
错误:被试内设计中的空单元格(即错误的数据结构)。 表(数据[c(“扫描”,“响应”)])
Resp
扫描 | X77.25 | X73.1777777766667 | X63.1944444433333 | X70.3333333333333 | X78.7 | X72.5833333333333 |
---|---|---|---|---|---|---|
X1 | 1 | 0 | 0 | 0 | 1 | 0 |
X2 | 0 | 1 | 0 | 0 | 0 | 1 |
X3 | 0 | 0 | 1 | 0 | 0 | 1 |
X4 | 0 | 0 | 0 | 1 | 0 | 0 |
Resp
扫描 | X72.4833333333333 | X78.25 | X65.1833333333333 | X71.9166666666667 | X57.333333335 | X65.55 |
---|---|---|---|---|---|---|
X1 | 0 | 0 | 1 | 0 | 0 | 1 |
X2 | 0 | 0 | 0 | 1 | 0 | 0 |
X3 | 1 | 0 | 0 | 0 | 0 | 0 |
X4 | 0 | 1 | 0 |
Scan 是因子变量,resp 是数字,我不知道为什么会发生这个错误。没有空单元格!而这个作为错误信息一部分输出的怪异表也很奇怪。它似乎将呼吸视为一个因素?但我已经明确告诉它呼吸是数字。当我从模型中取出呼吸时,它运行得完全正常。但是,不幸的是,我确实需要包括呼吸。
有人知道出了什么问题吗?或者甚至只是一种我可以用来完成这项工作的解决方法?
预先感谢您的帮助!!
解决方法
对于那些感兴趣的人,我想通了!我最终使用了线性混合模型而不是我上面的模型,因为我的协变量是在扫描级别而不是对象间变量。
我的命令最终是:
Full_Anova_ALFF% group_by(Region) %>% do(fit=mixed(ALFF~Resp+Age*Scan+(1|ID)+(1|Scan),data=.))
希望这对未来的人有所帮助!