RでLeveneテスト機能を使用するには?


14

私は統計とRの初心者で、Levene関数の使用に問題があります(2つのサンプルの分散の等価性を確認したいと思います)。ドキュメントには、実行する必要があると書かれています:

levene.test(y、グループ)

しかし、私はyとグループとして何を置くべきか分かりませんか?分散の等価性を確認したい2つの異なるサンプルがあります。サンプルの値の1つをyとして、2番目の値をグループパラメーターとして設定する必要がありますか?

ヒントはありますか?

回答:


17

Rでは、1番目のサンプルはという名前のベクトルに保存され、sample12番目のサンプルはという名前のベクトルに保存されるとしますsample2

最初に、2つのサンプルを1つのベクトルに結合し、2つのグループを定義する別のベクトルを作成する必要があります。

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:それは、その構造を使用して実装されたためです。ヘルプには、最初の引数は応答変数でなければならず、2番目の引数はグループ変数でなければならないことが記載されています。
ocram

多くの場合、Rはこのタイプのデータ形式(「ロング」と呼ばれることが多い)を好むようです。reshapeパッケージは、データの再形成に使用できる溶解とキャストと呼ばれる機能を提供しますが、単純な2変数の場合に必要な機能よりも複雑です。
ラッセルピアス

確認のため、サンプル1とサンプル2の周波数スペクトルをテストしませんか?したがって、たとえば、サンプル1は1,0,2,1,0であり、サンプル2は1,1,3,0,0であるとします。サンプル1の分布を作成するために、サンプル1の1と0をビンに入れませんか?私のフォローアップの質問が理にかなっていることを望みますか?
アッティコス29

14

Ocramの答えには、重要な部分がすべて含まれています。ただし、必要ない場合は、Rcmdrのすべてをロードする必要はありません。関連するライブラリは「車」です。しかし、ocramが示すように、levene.testは非推奨です。非推奨は機能またはコードの変更ではないことに注意してください(この時点で2011年9月18日)。それは単に関数名の変更です。したがって、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.