[R] model mix problem. FALSE CONVERGENCE

Spencer Graves spencer.graves at pdf.com
Tue Aug 12 04:06:26 CEST 2008


Hello: 

      I have not seen a reply to this email, so I will offer a couple of 
suggestions.  The error "false convergence" often means that the model 
is overparameterized.  Sometimes, specifying lme(..., control = 
list(returnObject=TRUE)) will convert this type of error into a 
warning.  If this happens, then you can typically do a nested model 
"anova".  (If the nested models involve a change in the random effect, 
then you need to use method = "ML".) 

      If you'd like further help, I suggest you first, "PLEASE do read 
the posting guide 'http://www.R-project.org/posting-guide.html' and 
provide commented, minimal, self-contained, reproducible code."  I'm 
intimidated by several hundred lines of R code, especially when it 
doesn't look like the data are accessible.  If you can simplify it to a 
few lines of R code using a publicly available data set, you will likely 
receive more replies quicker. 

      ¡Buena Suerte!
      Spencer Graves

mergullo wrote:
> Hi R users
> I try to use the lme but I can´t!!!!!
> My script is (some words in french, sorry!!): 
>
>
> rm(list=ls(all=TRUE)) #Efface tous les objets en mémoire pour éviter des
> erreurs
>
> library(MASS)      #Chargement des Librairies
> library(car)
> library(Hmisc)
> library(tkWidgets)
> library(svDialogs)
> library(multtest)
> library(nlme)
>
> #Rep <- "C:/Documents and Settings/U3M/Bureau/steph/Scripts R/"
> Rep <- "C:/Documents and Settings/rafa/Mis documentos/metabolomics/Scripts
> R/Modèles Mixtes/"
>
> # Choix du fichier à traiter
> source(sprintf("%sinfile2bis.q",Rep))
> para<-infile2bis() # Ouvre une petite interface permettant de sélectionner
> le fichier
>                 # que l'on veut traiter
> Fic <- para$fichier # fic est le fichier à traiter
> pat <- para$pat     # Répertoire de résultats
> CLASSE <- noquote(para$classe[1:2]) # Facteurs à étudier
> .method<-which(para$checks2!=F)      #Méthode d'ajustement des p-values
>
> # Vérification qu'on est bien ds le bon répertoire de travail
> if ( getwd()!=dirname(Fic[1]) ) setwd(dirname(Fic[1]))
>
> ## Quelques conditions à vérifier
> if (sum(CLASSE=="")>=1) {
>     guiDlgMessage("Il faut spécificier deux variables catégorielles.",
>                    title = "ERROR", type = "ok", icon = c("error"), parent =
> 0)
>     stop("Il faut spécificier deux variables catégorielles") }
>     
> if (sum(para$checks1==c(T,T))==2) {
>     guiDlgMessage("Il ne faut cocher qu'une seule case pour la ligne
> Transformation des données.",
>                    title = "ERROR", type = "ok", icon = c("error"), parent =
> 0)
>     stop("Il ne faut cocher qu'une seule case pour la ligne Transformation
> des données")  }
>
> if (length(which(para$checks2)==T)>1) {
>     guiDlgMessage("Vous ne pouvez choisir qu'une seule méthode de correction
> des p-values, ne cochez qu'une seule case.",
>                    title = "ERROR", type = "ok", icon = c("error"), parent =
> 0)
>     stop("Error : vous ne pouvez choisir qu'une seule méthode de correction
> des p-values ")}
>
>
> ######################################    Manipulation sur le fichier de
> données
>     titi <- read.table(Fic[2],header=T,sep="\t")   # Lecture du fichier
> Protocole
>     indiv <- as.character(titi[,1])                #Identifiant des
> individus
>     Subject <- as.factor(titi[,1])
>     n <- dim(titi)[1]      #Nb individus
>     
>     toto1 <- read.table(Fic[1],header=T,sep="\t") # Lecture du fichier de
> données
>     ions <- as.character(toto1[,1])              #Identifiant des ions
>
>     ## La matrice des Intensités
>     if (sum(para$checks1==c(T,F))==2) {
>           toto <- log2(t(toto1[,-c(1:(dim(toto1)[2]-n))])+1) }
>
>     if (sum(para$checks1==c(F,T))==2) {
>           toto <- t(toto1[,-c(1:(dim(toto1)[2]-n))]) }
>
>     if (sum(para$checks1==c(F,F))==2) {
>           toto <- t(toto1[,-c(1:(dim(toto1)[2]-n))]) }
>     
>     nvar <- dim(toto)[2]   #Nb variables = Nb ions
>
>     if (is.numeric(toto)==F) { 
>     guiDlgMessage("Problème de fichier :\r\n vérifier vos données.",
>                    title = "ERROR", type = "ok", icon = c("error"), parent =
> 0)
>     stop("Nombre d'individus différents dans les deux fichiers : vérifier
> vos données")}
>
>     Facteurs <- titi[,-1]  #Les facteurs
>
>     #Création d'un répertoire où enregistrer les résultats
>     if (any(dir(getwd())==strsplit(pat,"/"))==F) {
>               if (pat!="")  { dir.create(file.path(getwd(),pat)) }
>     }
>
>
> #####################################    ANOVA 2 voies
>
>     v1 <- Facteurs[[CLASSE[1]]]
>     v2 <- Facteurs[[CLASSE[2]]]
>
>     if (is.null(v1) | is.null(v2)) {
>         guiDlgMessage("Vous n'avez pas spécifier un facteur catégoriel
> correct.\r\n\r\nAttention, il faut que le nom du facteur que vous entrez
> \r\ndans l'interface et celui du fichier protocole soient \r\nexactement les
> mêmes.\r\n\r\nR est sensible à la case.",
>                        title = "ERROR", type = "ok", icon = c("error"),
> parent = 0)
>         }
>
>     ## ANOVA 2 facteurs
>
>           Resultats=NULL
>           Res=NULL
>           i=0
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           #summary(mixed)
>           #anova(mixed)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           if (i!=length(ions)) {
>           while(i!=length(ions)) {
>           i=i+1
>           myion=toto[,i]
>           mixed=lme(myion ~ v1*v2, random= ~ 1 | Subject/v1,method="REML")    
> ## effet aléatoire sujet(v1)
>           zz=anova(mixed)
>           Res <-
> data.frame(ions[i],toto1[i,2:(dim(toto1)[2]-n)],t(zz[-1,4]),toto1[i,c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>           Resultats <- rbind(Resultats,Res)
>           }}
>           dimnames(zz)[[1]][-1] <-
> c(para$classe[1],para$classe[2],sprintf("%s:%s",para$classe[1],para$classe[2]))
>           names(Resultats) <- c("IONS",
>                                 dimnames(toto1)[[2]][2:(dim(toto1)[2]-n)],
>                                 dimnames(zz)[[1]][-1],
>                                
> dimnames(toto1)[[2]][c((dim(toto1)[2]-n+1):dim(toto1)[2])])
>
>     ## Sauvegarde des résultats
>     if (.method==1) {
>           write.table(Resultats,sprintf("%sModèleMIXED-%sfacteurs - %s-%s
> avec interaction.txt",
>                     pat,sum(CLASSE!=""),para$classe[1],para$classe[2]),
>                     sep="\t",quote=F,row.names=F,
>                     col.names=names(Resultats))
>     }
>
>     if (.method != 1) {
>           procs<-c("Bonferroni","BH") [.method-1]
>           adj1<-mt.rawp2adjp(Resultats[,2],procs)
>           Resultats[,2] <- adj1[[1]][,2][order(adj1$index)]
>           adj2<-mt.rawp2adjp(Resultats[,3],procs)
>           Resultats[,3] <- adj2[[1]][,2][order(adj2$index)]
>           adj3<-mt.rawp2adjp(Resultats[,4],procs)
>           Resultats[,4] <- adj3[[1]][,2][order(adj3$index)]
>
>           ## Sauvegarde des p-values ajustées avec la méthode choisie
>           write.table(Resultats,
>                       sprintf("%sModèleMIXED-%sfacteurs - %s-%s avec
> interaction - avec correction %s.txt",pat,sum(CLASSE!=""),
>                       para$classe[1],para$classe[2],procs[.method-1]),
>                       sep="\t",quote=F,row.names=F,
>                       col.names=names(Resultats))
>     }
>
>
> #################################### Calcul des moyennes par niveau de
> facteurs
>     titi1=toto1[,-c(1:(dim(toto1)[2]-n))]
>     moy<-NULL
>
>         for ( u in 1:length(levels(v1)) ) {
>                     y <- apply(titi1[v1==levels(v1)[u]],1,mean)
>                     moy <- cbind(moy,y)
>         }
>         dimnames(moy)[[1]] <-  ions
>         for ( u in 1:length(levels(v2)) ) {
>                     y <- apply(titi1[v2==levels(v2)[u]],1,mean)
>                     moy <- cbind(moy,y)
>         }
>
>         for ( u in 1:length(levels(v1:v2)) ) {
>                     y <- apply(titi1[v1:v2==levels(v1:v2)[u]],1,mean)
>                     moy <- cbind(moy,y)
>         }
>
>
>         dimnames(moy)[[2]] <- c(levels(v1),levels(v2),
>               levels(v1:v2))
>         ## Sauvegarde des moyennes
>         write.table(data.frame(ions,moy),
>                 sprintf("%sRésumé - moyenne des différents facteurs %s-%s
> avec interaction.csv",pat,
>                 para$classe[1],para$classe[2]),
>                 sep=";",quote=F,row.names=F,
>                 col.names=c("IONS",dimnames(moy)[[2]]) )
>
>
>       ## Boite d'information que la modélisation est terminée
>       guiDlgMessage("modélisation GLM 2-WAY terminée.", title = "Message",
> type = c("ok"),
>       default = 1, icon = "info", parent = 0,
>       GUI = getOption("guiWwidgets"))
>
> I got this error message:
> Erro en lme.formula(myion ~ v1 * v2, random = ~1 | Subject/v1, method =
> "REML") : 
>         nlminb problem, convergence error code = 1; message = false
> convergence (8)
> Some idea about what is happening???
> Thanks in advance
>



More information about the R-help mailing list