[R-br] Modelos Mistos e Lattice (Grafico de predições)

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

[R-br] Modelos Mistos e Lattice (Grafico de predições)

R-br mailing list
Caros colegas

Desejo fazer um gráfico, semelhante ao retornado pela função augPred{nlme}, contendo os valores observados, os valores preditos pelo modelo fixo, e os valores individuais preditos. como esse exemplo (Só que para modelo não linear)
por algum motivo a função augPred() não está funcionando com o meu modelo (Acredito por ser desbalanceado )

A função predict.nlme {nlme}, me retorna um dataframe com as informação que quero, porém como transformá-los em gráfico?

Sei que é possível faze-lo através do xyplot{lattice} porém não estou conseguindo, devido a minha limitação no uso desse pacote.

Alguém poderia me ajudar?

segue CMR




packages <- c("tidyr", "nlme""latticeExtra","lattice")

#Instala pacotes necessários, se ja tiver instalado ativa-o
for(p in packages){
if(!require(p,character.only = TRUE)) install.packages(p)
library(p,character.only = TRUE)
}

##====================================================================================================
## **Preparação do banco de dados**
##====================================================================================================
DADOS.CURTO <- read.csv("https://www.dropbox.com/s/b4cckybgrcg86me/galinhas.csv?raw=1",head = TRUE)
colnames(DADOS.CURTO) <- c("0","1","2","3","4","5","6","TRAT")
DADOS.CURTO <-DADOS.CURTO[with(DADOS.CURTO,order(TRAT)),]
DADOS.CURTO$ID <- c(1:93,94:280,281:370)
DADOS<- DADOS.CURTO %>% gather('0','1','2','3','4','5','6',key ="SEMANA",value = "PESO", -TRAT,-ID)
DADOS <- transform(DADOS, SEMANA = as.numeric(SEMANA),ID=factor(ID))
DADOS
##--------------------------------------------------------------------
GALINHA <- groupedData(PESO~SEMANA |ID,order.groups=FALSE,data = DADOS)
##-------------------------------------------------------------------------------------------
modelo1.list <- nlsList(PESO ~ a * exp(-b * exp( -c * SEMANA)),start = c(a = 4.10,b = 4.53,c = 0.37 ),na.action=na.omit,data =GALINHA)
##--------------Definição do modelo de efeito Fixo--------------------------------
controle2<-nlmeControl(maxIter=300,msMaxIter = 300,niterEM= 100)
modelo.nlme.0<-nlme(modelo1.list)
modelo.nlme.2<-update(modelo.nlme.0,fixed=list(a~TRAT,b + c~1),start=c(4.10,0,0,4.77,0.34),control=controle2)
##------------------------------------------------------------------------------------------------------
controle3<-nlmeControl(maxIter=300,msMaxIter=1000)
MM3.3<- update(modelo.nlme.2,weights = varExp(form = ~fitted(.)|SEMANA),control=controle3,correlation = corARMA(form = ~SEMANA |ID,q = 4))
summary(MM3.3)
##-----------------------------------------------------------------
DADOS.ORIGINAL <- getData(MM3.3)
predito<-predict(MM3.3)
##------------------------------------------------------------------

Sent from Mailspring, the best free email app for work

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] Modelos Mistos e Lattice (Grafico de predições)

R-br mailing list
> packages <- c("tidyr", "nlme""latticeExtra","lattice")
Erro: unexpected string constant in "packages <- c("tidyr", "nlme""latticeExtra""
> #Instala pacotes necessários, se ja tiver instalado ativa-o
> for(p in packages){
+ if(!require(p,character.only = TRUE)) install.packages(p)
+ library(p,character.only = TRUE)
+ }
Error in packages : objeto 'packages' não encontrado


2018-07-13 17:48 GMT-03:00 Fernando Souza via R-br <[hidden email]>:
Caros colegas

Desejo fazer um gráfico, semelhante ao retornado pela função augPred{nlme}, contendo os valores observados, os valores preditos pelo modelo fixo, e os valores individuais preditos. como esse exemplo (Só que para modelo não linear)
por algum motivo a função augPred() não está funcionando com o meu modelo (Acredito por ser desbalanceado )

A função predict.nlme {nlme}, me retorna um dataframe com as informação que quero, porém como transformá-los em gráfico?

Sei que é possível faze-lo através do xyplot{lattice} porém não estou conseguindo, devido a minha limitação no uso desse pacote.

Alguém poderia me ajudar?

segue CMR




packages <- c("tidyr", "nlme""latticeExtra","lattice")

#Instala pacotes necessários, se ja tiver instalado ativa-o
for(p in packages){
if(!require(p,character.only = TRUE)) install.packages(p)
library(p,character.only = TRUE)
}

##====================================================================================================
## **Preparação do banco de dados**
##====================================================================================================
colnames(DADOS.CURTO) <- c("0","1","2","3","4","5","6","TRAT")
DADOS.CURTO <-DADOS.CURTO[with(DADOS.CURTO,order(TRAT)),]
DADOS.CURTO$ID <- c(1:93,94:280,281:370)
DADOS<- DADOS.CURTO %>% gather('0','1','2','3','4','5','6',key ="SEMANA",value = "PESO", -TRAT,-ID)
DADOS <- transform(DADOS, SEMANA = as.numeric(SEMANA),ID=factor(ID))
DADOS
##--------------------------------------------------------------------
GALINHA <- groupedData(PESO~SEMANA |ID,order.groups=FALSE,data = DADOS)
##-------------------------------------------------------------------------------------------
modelo1.list <- nlsList(PESO ~ a * exp(-b * exp( -c * SEMANA)),start = c(a = 4.10,b = 4.53,c = 0.37 ),na.action=na.omit,data =GALINHA)
##--------------Definição do modelo de efeito Fixo--------------------------------
controle2<-nlmeControl(maxIter=300,msMaxIter = 300,niterEM= 100)
modelo.nlme.0<-nlme(modelo1.list)
modelo.nlme.2<-update(modelo.nlme.0,fixed=list(a~TRAT,b + c~1),start=c(4.10,0,0,4.77,0.34),control=controle2)
##------------------------------------------------------------------------------------------------------
controle3<-nlmeControl(maxIter=300,msMaxIter=1000)
MM3.3<- update(modelo.nlme.2,weights = varExp(form = ~fitted(.)|SEMANA),control=controle3,correlation = corARMA(form = ~SEMANA |ID,q = 4))
summary(MM3.3)
##-----------------------------------------------------------------
DADOS.ORIGINAL <- getData(MM3.3)
predito<-predict(MM3.3)
##------------------------------------------------------------------

Sent from Mailspring, the best free email app for work

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.


_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.