R에서 Levene 테스트 기능을 사용하는 방법은 무엇입니까?


14

나는 통계와 R에 초보자이며 Levene 함수를 사용하는 데 문제가 있습니다 (두 샘플의 분산 평등을 확인하고 싶습니다). 설명서에는 다음을 실행해야한다고 나와 있습니다.

levene.test (y, 그룹)

그러나 나는 y와 그룹으로 무엇을 넣어야할지 모르겠습니다. 분산의 동등성을 확인하려는 두 가지 다른 샘플이 있습니다. 샘플 값 중 하나를 y로, 두 번째 값을 그룹 매개 변수로 넣어야합니까?

힌트가 있습니까?

답변:


17

R에서 첫 번째 샘플은 이름이 지정된 벡터에 저장되고 sample1두 번째 샘플은 이름이 지정된 벡터에 저장되어 있다고 가정 sample2합니다.

먼저 두 벡터를 하나의 벡터로 결합하고 두 그룹을 정의하는 다른 벡터를 만들어야합니다.

y <- c(sample1, sample2)

group <- as.factor(c(rep(1, length(sample1)), rep(2, length(sample2))))

이제 전화 할 수 있습니다

library(car)
levene.test(y, group)

편집하다

R에서 이것을 시도 할 때 다음 경고가 나타납니다.

'levene.test' has now been removed. Use 'leveneTest' instead...

이것에 따르면, 당신은 leveneTest대신에 봐야 합니다 ...


감사! 그러나 당신은 그렇게 친절하고 왜 이런 식으로 가야하는지 설명해 주시겠습니까? 다음에 질문 할 필요가없고 다른 사람들을 도울 수 있도록 이해하고 싶습니다.
Jakub

@Jakub : 글쎄, 그것은 그 구조를 사용하여 구현 되었기 때문에 이런 식으로 간다. 도움말에 따르면 첫 번째 인수는 응답 변수 여야하고 두 번째 인수는 그룹 변수 여야합니다.
ocram

많은 경우 R은 종종 "long"이라고하는이 형식의 데이터 형식을 선호하는 것 같습니다. reshape 패키지는 데이터를 재구성하는 데 사용할 수있는 melt and cast라는 함수를 제공하지만 간단한 두 가지 가변 사례에 필요한 것보다 더 복잡합니다.
russellpierce

확인하기 위해 이것은 샘플 1과 샘플 2의 주파수 스펙트럼을 테스트하지 않습니다. 맞습니까? 예를 들어 샘플 1은 1,0,2,1,0이고 샘플 2는 1,1,3,0,0입니다. 샘플 1의 분포를 만들기 위해 샘플 1의 1과 0을 비우지 않습니다. 맞습니까? 후속 질문이 이해되기를 바랍니다.
Atticus29

14

Ocram의 답변에는 모든 중요한 부분이 있습니다. 그러나 원하지 않는 경우 모든 Rcmdr을로드 할 필요는 없습니다. 관련 라이브러리는 "car"입니다. 그러나 ocram에서 알 수 있듯이 levene.test는 더 이상 사용되지 않습니다. 지원 중단은 기능 또는 코드의 변경이 아닙니다 (현재 09/18/2011). 단순히 기능 이름이 변경되었습니다. 따라서 levene.test와 leveneTest는 동일하게 작동합니다. 기록을 위해이 간단한 경우에 leveneTest 및 재사용 가능한 재구성 코드를 사용하는 예제를 제공한다고 생각했습니다.

#Creating example code
sample1 <- rnorm(20)
sample2 <- rnorm(20)

#General code to reshape two vectors into a long data.frame
twoVarWideToLong <- function(sample1,sample2) {
    res <- data.frame(
        GroupID=as.factor(c(rep(1, length(sample1)), rep(2, length(sample2)))),
        DV=c(sample1, sample2)
    )   
}   

#Reshaping the example data
long.data <- twoVarWideToLong(sample1,sample2)

#There are many different calls here that will work... but here is an example
leveneTest(DV~GroupID,long.data)

4

데이터를 준비하는 가장 쉬운 방법은 reshape2 패키지를 사용하는 것입니다.

#Load packages
library(reshape2)
library(car)

#Creating example data
sample1 <- rnorm(20)
sample2 <- rnorm(20)

#Combine data
sample <- as.data.frame(cbind(sample1, sample2))

#Melt data
dataset <- melt(sample)

#Compute test
leveneTest(value ~ variable, dataset)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.