aictab() 出错,替换有 3 行,数据有 1

Error with aictab(), replacement has 3 rows, data has 1

我正在尝试使用 AICcmodavg 中的 aictab() 来比较一组方差分析模型。该代码看起来像这样。

  block_b_1 <- aov(log(total + 1) ~ depth_strata + Year, data = zp_model_sheet_day)
  
  block_b_2 <- aov(log(total + 1) ~ depth_strata*Year, data = zp_model_sheet_day)
  
  block_b_3 <- aov(log(total + 1) ~ PAR, data = zp_model_sheet_day)
  
  blockB.set <- list(block_b_1, block_b_2, block_b_3)
  
  blockB.names <- list("Depth Layer + Year","Depth Layer*Year","PAR")
  
  aictab(blockB.set, modnames = blockB.names)

zp_model_sheet_day 数据框是 zp_model_sheet via

的子集
zp_model_sheet_day <- zp_model_sheet %>%
  filter(day_night == "day")

当我 运行 aictab() 我得到以下错误:

Error in `$<-.data.frame`(`*tmp*`, "K", value = c(9, 21, 18)) : 
  replacement has 3 rows, data has 1

我不太确定为什么会这样,错误消息不是特别有启发性,所以任何帮助将不胜感激。

作为参考,我还加载了以下包:

library(readxl)
library(ggplot2)
library(ggpubr)
library(dplyr)
library(tidyr)
library(broom)
library(AICcmodavg)
library(car)
library(MASS)
library(rcompanion)

事实证明这是一个愚蠢的错误。变量 blockB.names 应该被定义为向量而不是列表。