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 response
itu 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, counterexamples
kuasi-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
PRmodcomp
dari paketpkrtest
, tetapi ini adalah langkah lain yang tidak dijelaskan di sini).
Pendekatan menggunakan paket lain juga baik-baik saja.