Erreur lors de l'exécution de lmer() dans R

Alors, voici mon problème. J'ai un jeu de données dans R que j'ai besoin d'exécuter un modèle à effets mixtes. Voici le code:

data <- read.csv("D:/blahblah.csv")
analysis.data <- lmer(intdiff ~ stress_limit * word_position * follows + (1|speaker), data)
summary(analysis.data)

Lorsque j'essaie d'exécuter le script, il renvoie l'erreur suivante:

 Error in mer_finalize(ans) : Downdated X'X is not positive definite, 15.

J'ai suivi l'erreur jusqu'à la "suit" paramètre parce que quand je viens de l'utiliser stress_limit et word_position, il fonctionne très bien. Si cela peut aider, les données dans le "suit" ne sont que de 3 chaînes: n ou l, consonne, voyelle. J'ai essayé de remplacer les espaces par_, mais sans succès. Est-il quelque chose sur le fonctionnement interne de la lmer() fonction qui empêche l'utilisation de la "suit" dans ce cas? Toute aide serait super!

Pour plus d'info: intdiff contient des valeurs numériques, stress_limit est cordes (Souligné ou Non) et la position du mot est aussi des chaînes de caractères (Mot Médial ou le Mot Initial).

EDIT: Voici un échantillon de données qui reproduit l'erreur:

structure(list(intdiff = c(11.45007951, 12.40144758, 13.47898367, 
6.279497762, 18.19461897, 16.15539707), word_position = structure(c(2L, 
2L, 2L, 1L, 1L, 1L), .Label = c("Word Initial", "Word Medial"
), class = "factor"), follows = structure(c(4L, 4L, 4L, 1L, 2L, 
4L), .Label = c("Consonant", "n or l", "Pause", "Vowel"), class = "factor"), 
stress_limit = structure(c(2L, 1L, 1L, 2L, 2L, 2L), .Label = c("Stressed", 
"Unstressed"), class = "factor"), speaker = structure(c(2L, 
2L, 2L, 2L, 2L, 2L), .Label = c("f11r", "f13r", "f15a", "f16a", 
"m09a", "m10a", "m12r", "m14r"), class = "factor")), .Names = c("intdiff", 
"word_position", "follows", "stress_limit", "speaker"), row.names = c(NA, 
6L), class = "data.frame")

J'ai essayé de la lme() fonction en tant que bien, mais elle est revenue cette erreur:

Error in MEEM(object, conLin, control$niterEM) : 
Singularity in backsolve at level 0, block 1

Le code dans mon premier post, c'est exactement le code que j'utilise, moins de la bibliothèque(lme4), alors je ne pars pas toute l'information que je peux penser.

Ma version R est 2.15.2

Le nombre de lignes a votre bloc de données data?
Le bloc de données est d'environ 1110 lignes. Les données sont prévisibles donné un échantillon, bien que.
Faites vos variables prédictives contenir des toutes les combinaisons possibles de la limite du stress, la position du mot, et suit, ou certains sont manquants (parce qu'ils sont irréalisables, ou vous n'avez pas arriver à les mesurer)? Est with(data,all(table(stress_limit,word_position,follows)>=1)) vrai? (Ce qui est en train de devenir un des stats question plutôt que d'une question de programmation ...)
Le résultat est faux, donc je suppose qu'en effet, pas toutes les combinaisons possibles existent. Est-ce à dire un modèle à effets mixtes ne peuvent pas être exécutés à tout? Ou puis-je prendre cela en compte quand je lance la fonction?
Ma réponse vous dit ...

OriginalL'auteur Shakesbeery | 2013-02-01