[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