我正在尝试使用汽车包装中的leveneTest函数运行方差同质性测试。我可以像这样对单个变量运行测试(以鸢尾花数据集为例)
library(car)
library(datasets)
data(iris)
leveneTest(iris$Sepal.Length, iris$Species)
但是,我想同时对数据集中的所有因变量运行测试(因此Sepal.Length,Sepal.Width,Petal.Length,Petal.Width)。我猜想这与apply系列功能有关(apply,lapply,tapply),但我只是不知道怎么做。我最接近的是这样的:
lapply(iris, leveneTest(group = iris$Species))
但是我得到了错误
Error in leveneTest.default(group = iris$Species) :
argument "y" is missing, with no default
据我所知,可能是因为它无法指定结果变量。我敢肯定,我肯定会缺少对apply函数的一些明显使用,但是我只是不明白它是什么。道歉的基本问题,但我对R还是比较陌生,经常将相同的函数应用于多个变量(通常通过多次复制代码),因此,了解如何正确使用这些函数将非常有用:)
该功能的默认参数需要传递到...
中的lapply
。像这样:
lapply(subset(iris, select = -Species), leveneTest, group = iris$Species)