[R] model mix problem. FALSE CONVERGENCE

mergullo rafallorach at yahoo.es
Wed Jul 30 15:54:58 CEST 2008


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
-- 
View this message in context: http://www.nabble.com/model-mix-problem.-FALSE-CONVERGENCE-tp18733762p18733762.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list