model mix problem. FALSE CONVERGENCE

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

model mix problem. FALSE CONVERGENCE

mergullo
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
Reply | Threaded
Open this post in threaded view
|

Re: model mix problem. FALSE CONVERGENCE

Spencer Graves
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
>

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.