Ошибка при использовании теста Левена в R после группы [ошибка: не является числовой c переменной] - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь использовать levene Test из библиотеки "car" в R с набором данных iris.

У меня есть код:

library(tidyverse)
library(car)
iris %>% group_by (Species) %>% leveneTest( Sepal.Length )

Оттуда я получаю следующую ошибку:

Error in leveneTest.default(., Sepal.Length) : 
  . is not a numeric variable

Я не знаю, как это исправить, так как типы данных, кажется, имеют тип справа:

> str(iris)
'data.frame':   150 obs. of  5 variables:
 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...

Ответы [ 2 ]

0 голосов
/ 14 апреля 2020

Для теста Левена необходимо указать коэффициент группировки, например:

leveneTest(Sepal.Length ~ Species,data=iris)
Levene's Test for Homogeneity of Variance (center = median)
       Df F value   Pr(>F)   
group   2  6.3527 0.002259 **
      147  

Этот тест проверяет, являются ли различия однородными по группам. Для вас не имеет смысла группировать их и проводить leveneTest внутри группы. Если вы намереваетесь заняться чем-то другим, вы можете подробнее рассказать или прокомментировать.

0 голосов
/ 14 апреля 2020

попробуйте сделать это таким образом

with(iris, leveneTest(Sepal.Length, Species))

возможно, вы ищете такое решение

map(iris[, 1:4], ~ leveneTest(.x, iris$Species))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...