<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Olá pessoal,<div class=""><br class=""></div><div class="">Estou com um problema para fazer a predição de um modelo GAM com uma variável categórica para rasters. </div><div class=""><br class=""></div><div class="">Quando faço a predição do modelo para rasters, configurando a função predict() considerando a variável categórica, ela não funciona.</div><div class=""><br class=""></div><div class="">Segue abaixo um código exemplo ilustrando o meu problema com e sem a variável categórica. </div><div class=""><br class=""></div><div class="">Espero que possam ajudar.</div><div class=""><br class=""></div><div class="">Muito obrigado!</div><div class=""><br class=""></div><div class="">Thiago</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><span class="" style="text-align: -webkit-auto; orphans: 2; widows: 2;">__________________________________</span></div><div class=""><div class=""><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; widows: 2; border-spacing: 0px;"><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Thiago Cesar Lima Silveira<br class="">Biólogo, Me. Biologia Animal<br class="">Doutorando do PPG Zoologia - PUCRS<br class=""></div><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br class=""><br class=""><br class="">######</div></span></div></span></div></span></div></div><div class=""><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"><br class=""></div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">library(mgcv)</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">library(raster)</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"><br class=""></div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"># exemplo de layer raster</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"><br class=""></div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">v1rst<-raster()</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">values(v1rst) <- 1:ncell(v1rst)</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">names(v1rst)<-'v1'</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"><br class=""></div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"># Exemplos de variáveis resposta e preditores</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"> </div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">y<-c(1,33,500,700, 334,320, 703,303,3030,3002,200,0,100,100,169)</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">v1<-c(12,33,544,600, 34,30, 03,3390,3030,302,20,108,170,101,2009)</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">v2<-c(0,0,0,0,0,0,0,0,1,1,1,1,1,1,1)</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">v3<-c(12,33,544,600, 34,30, 03,3390,3030,302,20,108,170,101,2009)</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">df<-data.frame(y, v1, v2)</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"><br class=""></div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">#GAM com variável categórica</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"><br class=""></div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">gam1<-gam(y~s(v1)+factor(v2), data=df)</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">summary(gam1)</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"><br class=""></div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">#GAM model sem factor</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"><br class=""></div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">gam2<-gam(y~s(v1), data=df)</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">summary(gam2)</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"><br class=""></div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"># data.frame com o valor constante</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">#(da classe ’factor’) para ser usado na função  predict( ). </div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">#Esse comando foi retirado do documento do pacote brt (<a href="http://cran.r-project.org/web/packages/dismo/vignettes/brt.pdf" class="" target="_top" rel="nofollow" link="external" style="font-size: 1em; color: rgb(85, 26, 139);">http://cran.r-project.org/web/packages/dismo/vignettes/brt.pdf</a>) página 20.</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"># Tentei algumas variações sem sucesso.</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"><br class=""></div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">Method<-factor(var.factor<-factor( '0' ,levels=levels(df$v2))) </div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">df$add<-data.frame(var.factor)</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"><br class=""></div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"> #Prediction with factor</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"> p<-predict(v1rst,gam1, type='response', const='add' )</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">              </div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"> #Mensagem de ERRO - 'Error in `[.data.frame`(blockvals, , f[j]) : undefined columns selected</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;">              </div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"> #Prediction sem o fator</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"> p<-predict(v1rst,gam2, type='response')</div><div class="" style="font-family: Verdana, Geneva, Helvetica, Arial, sans-serif; font-size: 13px;"> plot(p) #ok!</div><div class=""><br class=""></div></div></body></html>