r - 错误:无效的分组因子规范,主题
问题描述
我正在尝试在 R 中运行多级逻辑回归模型。
这是我的模型:
modA <- glmer(Past_01 ~ Scene_01 + Speech_01 + (1| Subject), data = df2,
family = binomial, control = glmerControl(optimizer = "bobyqa"),
nAGQ = 10)
当我运行它时,我收到以下信息:
错误:无效的分组因子规范,主题。
有人可以告诉我(a)这个错误是什么意思吗?和/或 (b) 解决方案是什么?
虽然我注意到有人提出了相同的问题,但我还没有找到充分解决问题的答案。
这些是我到目前为止所采取的步骤,基于以前相关线程的建议。
- 在使用 na.rm 运行模型之前,我删除了 NA
- 我使用 na.action=na.omit 删除了 NA。
- 我仔细检查了主题的结构(有问题的分组变量),这是一个因素。Past、Scene 和 Speech 都是整数。
任何指导将不胜感激!
这是@NelsonGon 要求的我的数据样本。
使用输入:
dput(head(df2,50))
我收到以下输出:
structure(list(Subject = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), Trial = c(1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L), Spont =
c(NA, NA, 3L, NA, NA, NA, NA, NA, NA, NA, 3L, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 4L, NA, NA, NA, NA, NA, NA,
NA, 5L, NA, NA, NA, NA, NA, NA, NA, 3L, NA, NA, NA, NA, NA, NA, NA),
Speech_01 = c(NA, NA, NA, NA, 0L, NA, NA, NA, NA, NA, NA, NA, 0L, NA,
NA, NA, NA, NA, NA, NA, 0L, NA, NA, NA, NA, NA, NA, NA, 0L, NA, NA,
NA, NA, NA, NA, NA, 0L, NA, NA, NA, NA, NA, NA, NA, 0L, NA, NA, NA,
NA, NA), Scene_01 = c(NA, NA, NA, 1L, NA, NA, NA, NA, NA, NA, NA, 1L,
NA, NA, NA, NA, NA, NA, NA, 1L, NA, NA, NA, NA, NA, NA, NA, 1L, NA,
NA, NA, NA, NA, NA, NA, 0L, NA, NA, NA, NA, NA, NA, NA, 0L, NA, NA,
NA, NA, NA, NA), VisElem_01 = c(NA, NA, NA, 0L, NA, NA, NA, NA, NA,
NA, NA, 0L, NA, NA, NA, NA, NA, NA, NA, 0L, NA, NA, NA, NA, NA, NA,
NA, 0L, NA, NA, NA, NA, NA, NA, NA, 1L, NA, NA, NA, NA, NA, NA, NA,
1L, NA, NA, NA, NA, NA, NA), AudElem_01 = c(NA, NA, NA, NA, 0L, NA,
NA, NA, NA, NA, NA, NA, 0L, NA, NA, NA, NA, NA, NA, NA, 0L, NA, NA,
NA, NA, NA, NA, NA, 0L, NA, NA, NA, NA, NA, NA, NA, 0L, NA, NA, NA,
NA, NA, NA, NA, 0L, NA, NA, NA, NA, NA), Past_01 = c(NA, NA, NA, NA,
NA, 0L, NA, NA, NA, NA, NA, NA, NA, 1L, NA, NA, NA, NA, NA, NA, NA,
0L, NA, NA, NA, NA, NA, NA, NA, 0L, NA, NA, NA, NA, NA, NA, NA, 0L,
NA, NA, NA, NA, NA, NA, NA, 0L, NA, NA, NA, NA), Pres_01 = c(NA, NA,
NA, NA, NA, NA, 1L, NA, NA, NA, NA, NA, NA, NA, 1L, NA, NA, NA, NA,
NA, NA, NA, 1L, NA, NA, NA, NA, NA, NA, NA, 1L, NA, NA, NA, NA, NA,
NA, NA, 1L, NA, NA, NA, NA, NA, NA, NA, 1L, NA, NA, NA), Fut_01 =
c(NA, NA, NA, NA, NA, NA, NA, 1L, NA, NA, NA, NA, NA, NA, NA, 0L, NA,
NA, NA, NA, NA, NA, NA, 0L, NA, NA, NA, NA, NA, NA, NA, 1L, NA, NA,
NA, NA, NA, NA, NA, 1L, NA, NA, NA, NA, NA, NA, NA, 1L, NA, NA)),
.Names = c("Subject", "Trial", "Spont", "Speech_01", "Scene_01",
"VisElem_01", "AudElem_01", "Past_01", "Pres_01", "Fut_01"),
row.names = c(NA, 50L), class = "data.frame")
这是我使用 str(df2) 的数据结构。
'data.frame': 28800 obs. of 10 variables:
$ Subject : int 1 1 1 1 1 1 1 1 1 1 ...
$ Trial : int 1 1 1 1 1 1 1 1 2 2 ...
$ Spont : int NA NA 3 NA NA NA NA NA NA NA ...
$ Speech_01 : int NA NA NA NA 0 NA NA NA NA NA ...
$ Scene_01 : int NA NA NA 1 NA NA NA NA NA NA ...
$ VisElem_01: int NA NA NA 0 NA NA NA NA NA NA ...
$ AudElem_01: int NA NA NA NA 0 NA NA NA NA NA ...
$ Past_01 : int NA NA NA NA NA 0 NA NA NA NA ...
$ Pres_01 : int NA NA NA NA NA NA 1 NA NA NA ...
$ Fut_01 : int NA NA NA NA NA NA NA 1 NA NA ...
数据类型 Subject 是参与者 ID。Spont 是一个连续变量。其他变量(Scene_01、Speech_01、VisElem_01、AudElem_01、Past_01、Pres_01 和 Fut_01)是虚拟编码的,值分别为 1 和 0(分别表示是和否)。在模型中,我编辑了变量以匹配数据框中的实际变量名称。
注意 NA 是在虚拟编码步骤中生成的,我在现有列(来自原始数据集)上使用 dyplr::spread 函数从该现有列的唯一值中创建新列。如果您熟悉 dyplr::spread 函数,您可能已经注意到它会分散数据并产生一堆 NA。
解决方案
推荐阅读
- ios - 调用协议扩展中的方法而不是视图控制器中的方法实现
- opacity - 如何使用 camanjs 更改图像不透明度?
- java - java.lang.NoSuchMethodError:org.springframework.core.annotation.AnnotatedElementUtils.getAnnotationAttributes
- c# - Appium - 在重新启动应用程序的情况下最好 - LaunchApp 或 StartActivity
- android - 魅族 MX6 出现 SpeechRecognizer SecurityException
- android - 如何从 IntentService 类更新edittext?
- c# - Activator.createinstance(generic type, args) 方法抛出异常
- c# - C#字节数组转换成变量
- python - Django - queryset.union 返回损坏的查询集:filter() 和 get() 返回所有内容
- ios - 在 xcode 中构建归档后组织归档为空