Pembaruan : Karena saya sekarang tahu bahwa masalah saya disebut pemisahan semu-lengkap, saya memperbarui pertanyaan untuk mencerminkan hal ini (terima kasih kepada Aaron).
Saya memiliki dataset dari percobaan di mana 29 peserta manusia (faktor code) bekerja pada satu set uji coba dan responseitu adalah 1 atau 0. Selain itu, kami memanipulasi bahan sehingga kami memiliki tiga faktor silang, p.validity(valid versus tidak valid), type(afirmasi versus penolakan), dan counterexamples(sedikit versus banyak):
d.binom <- read.table("http://pastebin.com/raw.php?i=0yDpEri8")
str(d.binom)
## 'data.frame': 464 obs. of 5 variables:
## $ code : Factor w/ 29 levels "A04C","A14G",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ response : int 1 1 1 1 0 1 1 1 1 1 ...
## $ counterexamples: Factor w/ 2 levels "few","many": 2 2 1 1 2 2 2 2 1 1 ...
## $ type : Factor w/ 2 levels "affirmation",..: 1 2 1 2 1 2 1 2 1 2 ...
## $ p.validity : Factor w/ 2 levels "invalid","valid": 1 1 2 2 1 1 2 2 1 1 ...
Secara keseluruhan hanya ada sejumlah kecil 0s:
mean(d.binom$response)
## [1] 0.9504
Satu hipotesis adalah bahwa ada pengaruh validity, bagaimanapun, analisis pendahuluan menunjukkan bahwa mungkin ada efek counterexamples. Karena saya memiliki data dependen (setiap peserta mengerjakan semua percobaan), saya ingin menggunakan GLMM pada data tersebut. Sayangnya, counterexampleskuasi-sepenuhnya memisahkan data (setidaknya untuk satu level):
with(d.binom, table(response, counterexamples))
## counterexamples
## response few many
## 0 1 22
## 1 231 210
Ini juga tercermin dalam model:
require(lme4)
options(contrasts=c('contr.sum', 'contr.poly'))
m2 <- glmer(response ~ type * p.validity * counterexamples + (1|code),
data = d.binom, family = binomial)
summary(m2)
## [output truncated]
## Fixed effects:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 9.42 831.02 0.01 0.99
## type1 -1.97 831.02 0.00 1.00
## p.validity1 1.78 831.02 0.00 1.00
## counterexamples1 7.02 831.02 0.01 0.99
## type1:p.validity1 1.97 831.02 0.00 1.00
## type1:counterexamples1 -2.16 831.02 0.00 1.00
## p.validity1:counterexamples1 2.35 831.02 0.00 1.00
## type1:p.validity1:counterexamples1 2.16 831.02 0.00 1.00
Kesalahan standar untuk parameter hanya gila. Karena tujuan akhir saya adalah untuk menilai apakah efek tertentu signifikan atau tidak, kesalahan standar tidak sepenuhnya tidak penting.
- Bagaimana saya bisa menangani pemisahan kuasi lengkap? Apa yang saya inginkan adalah mendapatkan perkiraan yang dapat saya nilai dari pengaruh tertentu atau tidak (misalnya menggunakan
PRmodcompdari paketpkrtest, tetapi ini adalah langkah lain yang tidak dijelaskan di sini).
Pendekatan menggunakan paket lain juga baik-baik saja.