Saya sedang mengerjakan tesis master saya saat ini dan berencana menjalankan statistik dengan SigmaPlot. Namun, setelah menghabiskan beberapa waktu dengan data saya, saya sampai pada kesimpulan bahwa SigmaPlot mungkin tidak cocok untuk masalah saya (saya mungkin salah) jadi saya memulai upaya pertama saya di R, yang sebenarnya tidak membuatnya lebih mudah.
Rencananya adalah menjalankan DUA-WAY-ANOVA sederhana pada data saya yang dihasilkan dari 3 protein berbeda dan 8 perlakuan berbeda pada mereka, jadi dua faktor saya adalah protein dan perawatan. Saya menguji normalitas menggunakan keduanya
> shapiro.test(time)
dan
> ks.test(time, "norm", mean=mean(time), sd=sqrt(var(time)))
Dalam kedua kasus (mungkin tidak mengejutkan) saya berakhir dengan distribusi yang tidak normal.
Yang membuat saya dengan pertanyaan pertama tes mana yang akan digunakan untuk persamaan varian. Saya datang dengan
> chisq.test(time)
dan hasilnya adalah, saya tidak memiliki persamaan varians dalam data saya juga.
Saya mencoba berbagai transformasi data (log, pusat, standardisasi), yang semuanya tidak menyelesaikan masalah saya dengan varians.
Sekarang saya bingung, bagaimana melakukan ANOVA untuk menguji protein mana dan perawatan mana yang berbeda secara signifikan satu sama lain. Saya menemukan sesuatu tentang Tes Kruskal-Walis, tetapi hanya untuk satu faktor (?). Saya juga menemukan hal-hal tentang peringkat atau randamization, tetapi belum bagaimana menerapkan teknik-teknik tersebut di R.
Adakah yang punya saran apa yang harus saya lakukan?
Sunting: terima kasih atas jawaban Anda, saya sedikit kewalahan dengan bacaannya (sepertinya semakin lama semakin berkurang), tetapi saya tentu saja akan terus melanjutkan.
Berikut contoh data saya, seperti yang disarankan (Saya sangat menyesal atas formatnya, saya tidak dapat menemukan solusi atau tempat lain untuk meletakkan file. Saya masih baru dalam hal ini semua.):
protein treatment time
A con 2329.0
A HY 1072.0
A CL1 4435.0
A CL2 2971.0
A CL1-HY sim 823.5
A CL2-HY sim 491.5
A CL1+HY mix 2510.5
A CL2+HY mix 2484.5
A con 2454.0
A HY 1180.5
A CL1 3249.7
A CL2 2106.7
A CL1-HY sim 993.0
A CL2-HY sim 817.5
A CL1+HY mix 1981.0
A CL2+HY mix 2687.5
B con 1482.0
B HY 2084.7
B CL1 1498.0
B CL2 1258.5
B CL1-HY sim 1795.7
B CL2-HY sim 1804.5
B CL1+HY mix 1633.0
B CL2+HY mix 1416.3
B con 1339.0
B HY 2119.0
B CL1 1093.3
B CL2 1026.5
B CL1-HY sim 2315.5
B CL2-HY sim 2048.5
B CL1+HY mix 1465.0
B CL2+HY mix 2334.5
C con 1614.8
C HY 1525.5
C CL1 426.3
C CL2 1192.0
C CL1-HY sim 1546.0
C CL2-HY sim 874.5
C CL1+HY mix 1386.0
C CL2+HY mix 364.5
C con 1907.5
C HY 1152.5
C CL1 639.7
C CL2 1306.5
C CL1-HY sim 1515.0
C CL2-HY sim 1251.0
C CL1+HY mix 1350.5
C CL2+HY mix 1230.5
sumber
?bartlett.test
)Jawaban:
Ini mungkin lebih dari sekadar komentar daripada jawaban, tetapi itu tidak cocok sebagai komentar. Kami mungkin dapat membantu Anda di sini, tetapi ini mungkin memerlukan beberapa iterasi; kami memerlukan informasi lebih lanjut.
Pertama, apa variabel respons Anda?
Kedua, perhatikan bahwa distribusi marginal dari respons Anda tidak harus normal, melainkan distribusi yang tergantung pada model (yaitu, residu) harus - tidak jelas bahwa Anda telah memeriksa residu Anda. Selain itu, normalitas adalah asumsi paling tidak penting dari model linier (misalnya, ANOVA); residunya mungkin tidak perlu menjadi sangat normal. Tes normalitas biasanya tidak bermanfaat (lihat di sini untuk diskusi tentang CV), plot jauh lebih baik. Saya akan mencoba qq-plot residu Anda. Dalam
R
hal ini dilakukan denganqqnorm()
, atau cobaqqPlot()
dicar
paket. Ini juga layak dipertimbangkan dengan cara di mana residunya tidak normal: kemiringan lebih merusak daripada kurtosis berlebih, khususnya jika kemiringan arah arah di antara kelompok.Jika benar-benar ada masalah yang perlu dikhawatirkan, transformasi adalah strategi yang baik. Mengambil log dari data mentah Anda adalah satu opsi, tetapi bukan satu-satunya. Perhatikan bahwa pemusatan dan standardisasi sebenarnya bukan transformasi dalam pengertian ini. Anda ingin melihat ke dalam Box & Cox keluarga transformasi kekuasaan . Dan ingat, hasilnya tidak harus normal, cukup baik.
Selanjutnya, saya tidak mengikuti penggunaan uji chi-square untuk homogenitas varians, meskipun mungkin baik-baik saja. Saya sarankan Anda menggunakan tes Levene's (digunakan
leveneTest()
dalamcar
). Heterogenitas lebih merusak daripada non-normal, tetapi ANOVA cukup kuat jika heterogenitasnya kecil. Aturan standar adalah bahwa varians grup terbesar dapat mencapai empat kali terkecil tanpa menimbulkan masalah yang kuat. Transformasi yang baik juga harus mengatasi heterogenitas.Jika strategi ini tidak cukup, saya mungkin akan mengeksplorasi regresi yang kuat sebelum mencoba pendekatan non-parametrik.
Jika Anda dapat mengedit pertanyaan Anda dan mengatakan lebih banyak tentang data Anda, saya mungkin dapat memperbarui ini untuk memberikan informasi yang lebih spesifik.
sumber
( catatan: jawaban ini diposting sebelum pertanyaan dimigrasikan dan digabung dari SO, jadi detailnya telah ditambahkan ke pertanyaan yang tidak dibahas di sini. Banyak yang dialamatkan dalam komentar dan jawaban oleh @ung).
Ada banyak pendekatan berbeda, dan pertanyaan ini telah dibahas di tempat lain di situs ini. Berikut adalah daftar beberapa pendekatan, dengan tautan ke pertanyaan lain di situs dan beberapa referensi .:
adonis
fungsi dalam paket R Vegansumber
adonis
dalamVegan
paket R / David 16 Mei di 16:20adonis
tampaknya bekerja bahkan dengan DVD univariat Namun, saya merasa bahwa itu menggunakan sesuatu seperti tipe 1 jumlah kuadrat saat saya mendapatkan pesanTerms added sequentially (first to last)
setiap kali menjalankannya. Sudahkah Anda menggunakannya atau bisa mengatakan apa-apa tentang itu? - Henrik 16 Mei jam 17:03