Bagaimana cara menggunakan fungsi tes Levene di R?

14

Saya seorang pemula untuk statistik dan R dan saya memiliki masalah dengan menggunakan fungsi Levene (saya ingin memeriksa kesetaraan varian dua sampel). Dokumentasi mengatakan bahwa saya harus menjalankan:

levene.test (y, group)

Tetapi saya tidak tahu apa yang harus saya masukkan sebagai y dan grup? Saya memiliki dua sampel berbeda yang mana dari saya ingin memeriksa kesetaraan varians. Haruskah saya menempatkan salah satu nilai sampel sebagai y dan yang kedua sebagai parameter grup?

Ada petunjuk?

Jakub
sumber

Jawaban:

17

Katakanlah, di R, sampel pertama Anda disimpan dalam vektor yang bernama sample1dan sampel kedua Anda disimpan dalam vektor yang bernama sample2.

Pertama-tama Anda harus menggabungkan dua sampel Anda dalam satu vektor dan untuk membuat vektor lain yang mendefinisikan dua kelompok:

y <- c(sample1, sample2)

dan

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

Sekarang, Anda bisa menelepon

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

EDIT

Saat mencoba ini di R, saya mendapat peringatan berikut:

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

Menurut ini, Anda seharusnya melihat pada leveneTest...

okram
sumber
Terima kasih! Tetapi apakah Anda akan begitu baik dan menjelaskan mengapa harus seperti ini? Saya ingin memahaminya sehingga lain kali saya tidak perlu bertanya dan dapat membantu yang lain.
Jakub
@ Yakub: Ya, begini karena diimplementasikan menggunakan struktur itu. Bantuan menyatakan bahwa argumen pertama harus menjadi variabel respons sedangkan argumen kedua harus menjadi variabel grup.
ocram
Dalam banyak kasus, R tampaknya lebih menyukai format data jenis ini, sering disebut sebagai "panjang". Paket membentuk kembali menyediakan fungsi yang disebut melt and cast yang dapat digunakan untuk membentuk kembali data Anda, tetapi mereka lebih kompleks daripada apa yang Anda butuhkan untuk dua kasus variabel sederhana.
russellpierce
Hanya untuk mengonfirmasi, ini tidak akan menguji spektrum frekuensi sampel 1 dan sampel 2, benar? Jadi, misalnya, katakan sampel 1 adalah: 1,0,2,1,0 dan sampel 2 adalah: 1,1,3,0,0. Itu tidak akan membuang 1s dan 0s sampel 1 untuk membuat distribusi sampel 1, benar? Saya harap pertanyaan tindak lanjut saya masuk akal?
Atticus29
14

Jawaban Ocram memiliki semua bagian penting. Namun, Anda tidak perlu memuat semua Rcmdr jika tidak mau. Perpustakaan yang relevan adalah "mobil". Tapi seperti yang ditunjukkan ocram, levene.test sudah usang. Perhatikan bahwa penghentian itu bukan perubahan fungsi atau kode (saat ini, 09/18/2011). Ini hanyalah perubahan dalam nama fungsi. Jadi levene.test dan leveneTest akan bekerja sama. Sebagai catatan, saya pikir saya akan memberikan contoh menggunakan leveneTest dan kode pembentukan kembali yang dapat digunakan kembali untuk kasus sederhana ini:

#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)
russellpierce
sumber
4

Cara termudah (menurut saya) untuk menyiapkan data menggunakan paket 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)
Jot eN
sumber