Estimado Luciano, continuando su sugerencia, envío un código donde se
procesa información (pocos datos), al ejecutar el código se llega al error
que pregunto cómo puedo solucionarlo, son varios renglones a los fines de
hacer entendible el problema, en primer lugar cargo los datos y los proceso
con MCMCglmm, no hay problemas, luego los proceso con lme4 en forma
simplificada, y el equivalente a MCMCglmm utilizando pedigreemm que requiere
lme4, donde aparece el mensaje de error.

 

El código es el siguiente: espero que se entienda mi explicación, y desde ya
muchas gracias.

 

# carga de datos y librerías requeridas

library(MCMCglmm)

library(pedigreemm)

data(ChickWeight)

 

 

animal <-c(1:50)

Father
<-c(NA,NA,NA,NA,NA,NA,1,1,1,1,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,5,7,7,7,7,

7,7,7,7,7,7,7,1,1,1,1,3,3,3,3,5,5,5,5)

Mother
<-c(NA,NA,NA,NA,NA,NA,2,2,2,2,4,4,4,4,4,4,4,4,6,6,6,6,6,6,8,8,8,8,8,8,8,

4,4,4,4,4,4,6,6,6,6,6,2,2,2,2,2,4,2,4)

Ped <- cbind(animal, Father, Mother)

animal<-ChickWeight$Chick

 

datos<-data.frame(ChickWeight$weight, ChickWeight$Time, animal,
ChickWeight$Diet)

nombres<-(c("weight","Time","animal","Diet"))

colnames(datos)<-nombres

 

# modelo en MCMCglmm

 

prior.m <- list(R = list(V=1, n=0.0002), G=list(G1=list(V= diag(3),n=3)))

system.time(

BV <- MCMCglmm(weight ~ Diet + poly(Time, 2, raw=TRUE),

                      random = ~us(1+ poly (Time, 2, raw=TRUE)):animal,

                      data = datos, pedigree = Ped,

                      verbose = TRUE, pr=TRUE, pl=TRUE,

                      prior = prior.m, saveX = TRUE, saveZ = TRUE)

)

# modelo simplificado en lmer

system.time(

con.los.mismos.datos <- lmer(weight ~ Diet + poly(Time, 2, raw = TRUE) +

(poly(Time, 2, raw = TRUE) | Chick), data = ChickWeight)

)

summary(con.los.mismos.datos)

 

 

#####################33

# modifico animal por id para pedigreemm

datos<-data.frame(ChickWeight$weight, ChickWeight$Time, animal,
ChickWeight$Diet)

nombres<-(c("weight","Time","id","Diet"))

colnames(datos)<-nombres

 

con.datos.modificados.para.pedigreemm <- lmer(weight ~ Diet + poly(Time, 2,
raw = TRUE) +

(poly(Time, 2, raw = TRUE) | id), data = datos)

summary(con.datos.modificados.para.pedigreemm)

# creo el pedigree para pedigreemm

ped2 <- pedigree(sire = Father,

                dam =  Mother,

                label = 1:50)

 

# modelo con el problema

system.time(

fm.datos.en.pedigreemm <-pedigreemm(formula = weight ~ Diet + poly(Time, 2,
raw = TRUE) +

(poly(Time, 2, raw = TRUE) | id), data = datos, pedigree = list( id =
ped2),verbose = TRUE)

)

 

# fallo, pero tendía que andar

# nota: pedigreemm utiliza lmer, la diferencia es que ingresa la relación
entre animales


	[[alternative HTML version deleted]]

