Biarkan saya (a) pertama menjelaskan ide yang mendasarinya daripada mekanika - mereka menjadi lebih jelas dalam retrospeksi. Kemudian (b) Saya akan berbicara tentang chi-square (dan apakah itu sesuai - mungkin tidak!), Dan kemudian (c) Saya akan berbicara tentang bagaimana melakukannya di R.
(a) Di bawah nol, populasinya sama. Bayangkan Anda menempatkan dua kohort Anda ke dalam satu set data besar tetapi tambahkan kolom yang menyimpan label kohort. Kemudian di bawah nol, label kohort secara efektif hanya label acak yang memberi tahu Anda lebih banyak tentang distribusi yang berasal dari pengamatan.
Di bawah alternatif, tentu saja, label kohort penting - mengetahui label kohort memberi tahu Anda lebih daripada tidak mengetahuinya karena distribusi di bawah dua label berbeda.
(Ini segera menyarankan beberapa jenis tes permutasi / uji pengacakan di mana statistik - yang sensitif terhadap alternatif - dihitung pada sampel dibandingkan dengan distribusi statistik yang sama dengan label kohort dipindahkan ke baris secara acak. Jika Anda melakukan semua kemungkinan penugasan ulang adalah tes permutasi, jika Anda hanya mengambil sampelnya, ini adalah tes pengacakan.)
(b) Jadi sekarang, bagaimana melakukan chi-square?
Anda menghitung nilai yang diharapkan di bawah nol. Karena label kohort tidak menjadi masalah di bawah nol, Anda menghitung angka yang diharapkan di setiap sel berdasarkan distribusi keseluruhan:
Status
A B ... E ... G ... Total
Cohort 1: 10 15 18 84
Cohort 2: 9 7 25 78
Total: 19 22 ... 43 ... 162
Jadi jika distribusinya sama, tidak akan ada hubungan antara kohort dan status, dan (tergantung pada total baris dan total kolom) jumlah yang diharapkan dalam sel adalah baris-total-i kolom-total-j / keseluruhan-total( i , j )×
Jadi, Anda hanya mendapatkan tes independensi chi-square biasa .
NAMUN!
Jika label status membentuk kategori yang dipesan , uji chi-square ini membuang banyak informasi - itu akan memiliki daya yang rendah terhadap alternatif yang menarik (seperti sedikit pergeseran menuju kategori yang lebih tinggi atau lebih rendah). Anda harus dalam situasi itu melakukan sesuatu yang lebih cocok - yaitu, yang memperhitungkan pemesanan itu. Ada banyak pilihan.
-
(c) Sekarang tentang bagaimana melakukannya di R - itu tergantung pada bagaimana data Anda saat ini diatur dalam R - itu akan sangat membantu untuk memiliki contoh yang dapat direproduksi seperti subset dari data Anda!
Saya akan menganggap Anda memilikinya dalam bingkai data dengan dua kolom, satu dengan status (faktor) dan satu dengan kohort (faktor kedua).
Seperti itu:
status cohort
1 B Cohort1
2 B Cohort1
3 D Cohort1
4 B Cohort1
5 C Cohort1
6 D Cohort1
.
.
.
25 G Cohort2
26 E Cohort2
27 E Cohort2
28 D Cohort2
29 C Cohort2
30 G Cohort2
Kemudian jika itu adalah kerangka data yang disebut statusresults
Anda akan mendapatkan tabel seperti yang saya lakukan sebelumnya dengan:
> with(statusresults,table(cohort,status))
status
cohort A B C D E F G
Cohort1 2 6 7 3 0 0 0
Cohort2 0 0 2 2 4 1 3
Dan untuk tes chisquare, Anda hanya perlu:
> with(statusresults, chisq.test(status, cohort))
Pearson's Chi-squared test
data: status and cohort
X-squared = 18.5185, df = 6, p-value = 0.005059
Warning message:
In chisq.test(status, cohort) : Chi-squared approximation may be incorrect
(peringatan itu karena jumlah yang diharapkan rendah di beberapa sel, mengingat saya menggunakan sampel yang sangat kecil)
Jika Anda telah memesan kategori untuk status Anda harus mengatakannya, sehingga kami dapat mendiskusikan kemungkinan lain untuk analisis selain chisquare polos.