मैं R( lme4पैकेज) में रैखिक मिश्रित प्रभाव वाले मॉडल पर पोस्ट-हॉक परीक्षण कर रहा हूं । मैं पोस्ट-हॉक टेस्ट करने के लिए multcompपैकेज ( glht()फ़ंक्शन) का उपयोग कर रहा हूं ।
एक यादृच्छिक ब्लॉक प्रभाव के साथ मेरे प्रयोगात्मक डिजाइन को दोहराया जाता है। मॉडल इस प्रकार हैं:
mymod <- lmer(variable ~ treatment * time + (1|block), data = mydata, REML = TRUE)
अपने डेटा को यहां संलग्न करने के बजाय, मैं पैकेज के warpbreaksभीतर बुलाए गए डेटा से काम कर रहा हूं multcomp।
data <- warpbreaks
warpbreaks$rand <- NA
मैंने अपने "ब्लॉक" प्रभाव की नकल करने के लिए एक अतिरिक्त यादृच्छिक चर जोड़ा है:
warpbreaks$rand <- rep(c("foo", "bar", "bee"), nrow(warpbreaks)/3)
यह मेरे मॉडल की नकल करता है:
mod <- lmer(breaks ~ tension * wool + (1|rand), data = warpbreaks)
मैं " अतिरिक्त मल्टीप्लेक्स उदाहरण- 2 वे एनोवा " में उदाहरण से अवगत हूं। यह उदाहरण आपको स्तरों के भीतर तनाव के स्तर की तुलना करने की ओर ले जाता है wool।
क्या होगा अगर मैं इसके विपरीत करना चाहता हूं - के स्तरों के woolभीतर की तुलना करें tension? (मेरे मामले में, यह समय के स्तरों के भीतर उपचार के स्तरों (दो - 0, 1) की तुलना करेगा (तीन - जून, जुलाई, अगस्त)।
मैं ऐसा करने के लिए निम्न कोड के साथ आया हूं, लेकिन यह काम नहीं करता है (नीचे त्रुटि संदेश देखें)।
सबसे पहले, उदाहरण से ( स्थानों की अदला wool- tensionबदली):
tmp <- expand.grid(wool = unique(warpbreaks$wool), tension = unique(warpbreaks$tension))
X <- model.matrix(~ tension * wool, data = tmp)
glht(mod, linfct = X)
Tukey <- contrMat(table(warpbreaks$wool), "Tukey")
K1 <- cbind(Tukey, matrix(0, nrow = nrow(Tukey), ncol = ncol(Tukey)))
rownames(K1) <- paste(levels(warpbreaks$tension)[1], rownames(K1), sep = ":")
K2 <- cbind(matrix(0, nrow = nrow(Tukey), ncol = ncol(Tukey)), Tukey)
rownames(K2) <- paste(levels(warpbreaks$tension)[2], rownames(K2), sep = ":")
यहाँ से नीचे तक, मेरा अपना कोड:
K3 <- cbind(matrix(0, nrow = nrow(Tukey), ncol = ncol(Tukey)), Tukey)
rownames(K2) <- paste(levels(warpbreaks$tension)[3], rownames(K3), sep = ":")
K <- rbind(K1, K2, K3)
colnames(K) <- c(colnames(Tukey), colnames(Tukey))
> summary(glht(mod, linfct = K %*% X))
Error in summary(glht(mod, linfct = K %*% X)) :
error in evaluating the argument 'object' in selecting a method for function 'summary': Error in K %*% X : non-conformable arguments