在r中的多个列(变量)上使用函数

问题描述 投票:0回答:1

我正在尝试使用汽车包装中的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还是比较陌生,经常将相同的函数应用于多个变量(通常通过多次复制代码),因此,了解如何正确使用这些函数将非常有用:)

r lapply sapply tapply
1个回答
1
投票

该功能的默认参数需要传递到...中的lapply。像这样:

lapply(subset(iris, select = -Species), leveneTest, group = iris$Species)
© www.soinside.com 2019 - 2024. All rights reserved.