R - levene 测试 - complete.cases(y, group) 中的错误:并非所有参数都具有相同的长度

R - levene Test - Error in complete.cases(y, group) : not all arguments have the same length

当我在 R 上使用我的代码进行 Levene 测试时,它返回一条错误消息,如下所示:

z <- leveneTest(week1,week2, center=mean)

并且出现如下错误:

Error in complete.cases(y, group) :
not all arguments have the same length

有人知道怎么解决吗?

虽然我们没有您的数据,但如果 week1week2 的长度不同,我们可以很容易地重现错误。我们还可以从变量的名称推断出它们是包含两个不同周的数据的两个向量,并且从您正在执行 Levene 检验的事实中您希望比较它们的方差。

让我们设置一些具有这些特征的数据并进行测试:

set.seed(1)

week1 <- rnorm(10, 6, 1)
week2 <- rnorm(12, 6, 5)

现在让我们看看是否可以重现您的错误:

library(car)
#> Loading required package: carData

leveneTest(week1, week2, center = mean)
#> Warning in leveneTest.default(week1, week2, center = mean): week2 coerced to
#> factor.
#> Error in complete.cases(y, group): not all arguments have the same length

是的 - 我们得到了同样的错误(加上警告)。原因是这不是您使用 leveneTest 函数的方式。数据需要是长格式;也就是说,它希望您的第一个向量是 week1week2 中的所有值,第二个参数是一个分组变量,告诉它这些值来自哪一周。换句话说,我们可以通过

来测试两个向量的方差之间的差异
leveneTest(y = c(week1, week2),
           group = factor(c(rep("week1", length(week1)), 
                            rep("week2", length(week2)))),
           center = mean)
#> Levene's Test for Homogeneity of Variance (center = mean)
#>       Df F value  Pr(>F)  
#> group  1  7.8927 0.01083 *
#>       20                  
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

reprex package (v2.0.1)

于 2022-04-23 创建