0

我正在使用 WRS2 包在我的数据集上使用分类自变量(条件)、连续协变量(年龄)和连续因变量进行稳健的 ancovas。我在这里附上了数据集。

但是,当使用 WRS2 中的 ancova 函数时,我不断收到以下错误Error in `.rowNamesDF<-`(x, value = value) : invalid 'row.names' length

通过搜索,这似乎与使用 tibble 而不是数据框或重复的变量名称有关。这些都不是问题,因为我在导入后将数据转换为数据框,并且所有变量名称都是唯一的(我只将感兴趣的变量复制到单独的电子表格中并重命名它们)

但是,我的所有变量都不会发生错误,只有其中一些变量会发生错误,请参见下面的 MWE

library(WRS2)
library(readxl)

dat_questionnaire <- read_excel(" **FILE PATH HERE** questionnaire_data.xlsx")
View(dat_questionnaire)

dat_questionnaire <- as.data.frame(dat_questionnaire)
dat_questionnaire$condition <- as.factor(dat_questionnaire$condition)

# The below three outcomes do not work
WRS2::ancova(question_1 ~ condition + age, data = dat_questionnaire) 
WRS2::ancova(question_2 ~ condition + age, data = dat_questionnaire)
WRS2::ancova(question_3 ~ condition + age, data = dat_questionnaire)

# This one does work

WRS2::ancova(behavioural_1 ~ condition + age, data = dat_questionnaire)

起初我认为问题可能是因为缺少数据,所以我创建了一个过滤器来排除所有丢失的情况,但这并没有帮助解决问题。然后我尝试手动删除所有缺少数据的行,但它仍然抛出相同的错误。

dat_filter <- dat_questionnaire %>%
  dplyr::filter(questionnaire_complete == "yes")

WRS2::ancova(question_1 ~ condition + age, data = dat_filter)
WRS2::ancova(question_2 ~ condition + age, data = dat_filter)
WRS2::ancova(question_3 ~ condition + age, data = dat_filter)

我能找到的任何答案似乎都无法解释为什么它适用于某些变量而不适用于其他变量。

4

0 回答 0