<div dir="ltr"><div>Pessoal, acho que não formulaei bem o problema. Por favor, considerem a mensagem abaixo como a correta. Agradeço se alguém puder dar alguma indicação.<br></div>Abraços.<br><br><span id="gmail-m_7015421287449633130gmail-result_box" class="gmail-m_7015421287449633130gmail-" lang="pt"><span class="gmail-m_7015421287449633130gmail-"><br>library(raster)<br>library(logistf)<br><br># Criando 2 rasters para reproduzir o que estou enfrentando <br>r <- raster(nrow=10, ncol=10)<br><br># Variável-raster resposta (binária) com 9 bandas/layers<br>s1 <- lapply(1:9, function(i) setValues(r, sample(0:1,ncell(r),replace = T)))<br>s1 <- stack(s1)<br><br># um raster-variável preditora <br>val <- sample(0:60,ncell(r),replace = T)<br>s2 <- raster(nrow=10, ncol=10,vals=val)<br><br>plot(s1)<br>plot(s2)<br><br>#
 Uma segunda variável preditora armazenada como vetor numérico: 9 
valores assim como existem 9 bandas/layres em s1 (não é coincidência)<br>exp_2 <- c(27.00,30.02,31.07,32.72,33.<wbr>73,35.12,35.65,36.06,38.32)<br></span></span><div><br><span id="gmail-m_7015421287449633130gmail-result_box" class="gmail-m_7015421287449633130gmail-" lang="pt"><span>Agora,
 eu quero ajustar o modelo usando o logistf (eu tenho motivos 
estatísticos para isso, não reproduzido aqui) usando a função calc do 
pacote raster.</span> <span>É aí que o mistério mora.</span><br><br><span class="gmail-m_7015421287449633130gmail-">O raciocínio na formulação do problema é que cada célula/pixel seguiria a segunite fórmula glm:</span></span><br><br>s1 ~ 27.00 + pixel correspondente em s2 + 27.00:pixel correspondente em s2<br>s1 ~ 30.02 + pixel correspondente em s2 + 30.02:pixel correspondente em s2<br>s1 ~ 31.07 + pixel correspondente em s2 + 31.07:pixel correspondente em s2<br><br><span id="gmail-m_7015421287449633130gmail-result_box" class="gmail-m_7015421287449633130gmail-" lang="pt"><span class="gmail-m_7015421287449633130gmail-">... e assim por diante para todos os 9 valores de exp_2.</span></span><br><br><span id="gmail-m_7015421287449633130gmail-result_box" class="gmail-m_7015421287449633130gmail-" lang="pt"><span class="gmail-m_7015421287449633130gmail-">Eu tentei algo assim:</span><br><br><span class="gmail-m_7015421287449633130gmail-">fun <- function (x) { logistf (x ~ exp_2 + s2 + exp_2:s2)$coeficients }</span><br><span class="gmail-m_7015421287449633130gmail-">coefs <- calc(s1, fun)</span><br><br><span class="gmail-m_7015421287449633130gmail-">Mas estava claro que não funcionaria. </span></span><span id="gmail-result_box" class="gmail-" lang="pt"><span>Provavelmente por causa das diferentes dimensões/número de rasterlayers neste conjunto de dados.</span> <span class="gmail-">Estou recebendo a mensagem de erro:<br><br>Error in .calcTest(x[1:5], fun, na.rm, forcefun, forceapply) : <br>cannot use this function<br></span></span></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div style="text-align:left"><p style="margin-bottom:0cm;margin-bottom:.0001pt;line-height:normal"></p><p style="margin:0px;font-family:Tahoma,Helvetica,sans-serif;font-size:13px;text-align:-webkit-auto"><b><i><span style="font-size:11pt;font-family:Calibri,sans-serif"><font color="#666666">Jefferson Ferreira-Ferreira, </font></span></i></b><b style="font-size:14.6667px;color:rgb(102,102,102);font-family:Calibri,sans-serif;text-align:-webkit-auto"><i>PhD (abd)</i></b></p><p style="margin:0px;font-family:Tahoma,Helvetica,sans-serif;font-size:13px;text-align:-webkit-auto"><b style="text-align:-webkit-auto;font-size:14.6667px;color:rgb(102,102,102);font-family:Calibri,sans-serif"><i>Geographer</i></b></p><p style="margin:0px;font-family:Tahoma,Helvetica,sans-serif;font-size:13px;text-align:-webkit-auto"><br></p><p style="margin:0px;font-family:Tahoma,Helvetica,sans-serif;font-size:13px;text-align:-webkit-auto"><img src="https://docs.google.com/uc?export=download&id=0Bx1sxcsX0M5_TmpYZUpvTWdOODA&revid=0Bx1sxcsX0M5_Wm5PNEMzRS8vdW0rREZIWVNoMVZXRGFqT1hnPQ" width="200" height="100"><br></p><p style="margin:0px;font-family:Tahoma,Helvetica,sans-serif;font-size:13px;text-align:-webkit-auto"><b style="text-align:-webkit-auto;font-size:14.6667px;color:rgb(102,102,102);font-family:Calibri,sans-serif"><i><a href="http://tscanada.wix.com/ecodyn" target="_blank">Ecosystem Dynamics Observatory</a> - EcoDyn/UNESP</i></b><br></p><div style="font-size:small"><font face="georgia, serif" color="#666666"><i>Department of </i></font><i style="color:rgb(102,102,102);font-family:georgia,serif">Geography </i></div><div><font size="2" face="georgia, serif" color="#666666"><i>Institute of Geosciences and Exact Sciences</i></font><font style="font-size:small" face="georgia, serif" color="#666666"><i> (IGCE)</i></font><br></div><div style="font-size:small"><font face="georgia, serif" color="#666666"><i>São Paulo State University (UNESP)</i></font></div><div style="font-size:small"><font face="georgia, serif" color="#666666"><i>Rio Claro, SP - Brazil</i></font></div></div></div></div><br></div></div></div></div></div></div></div></div></div></div>
<br><div class="gmail_quote">Em 9 de agosto de 2017 16:07, Jefferson Ferreira-Ferreira <span dir="ltr"><<a href="mailto:jecogeo@gmail.com" target="_blank">jecogeo@gmail.com</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div>Pessoal,<br><br><span id="m_7015421287449633130gmail-result_box" class="m_7015421287449633130gmail-" lang="pt"><span class="m_7015421287449633130gmail-">Estou tentando ajustar a Estimativa de Máxima Máxima Penalizada de Firth para a regressão logística implementada no pacote logistf para um conjunto de rasters (imagens), mas estou com problemas para implementá-lo usando rasters e vetores numéricos.</span> Para<span class="m_7015421287449633130gmail-"> ilustrar o problema:<br><br>library(raster)<br>library(logistf)<br><br># Criando 2 rasters para reproduzir o que estou enfrentando <br>r <- raster(nrow=10, ncol=10)<br><br># Variável-raster resposta (binária) com 9 bandas/layers<br>s1 <- lapply(1:9, function(i) setValues(r, sample(0:1,ncell(r),replace = T)))<br>s1 <- stack(s1)<br><br># um raster-variável preditora <br>val <- sample(0:60,ncell(r),replace = T)<br>s2 <- raster(nrow=10, ncol=10,vals=val)<br><br>plot(s1)<br>plot(s2)<br><br># Uma segunda variável preditora armazenada como vetor numérico: 9 valores assim como existem 9 bandas/layres em s1 (não é coincidência)<br>exp_2 <- c(27.00,30.02,31.07,32.72,33.<wbr>73,35.12,35.65,36.06,38.32)<br></span></span><div><br><span id="m_7015421287449633130gmail-result_box" class="m_7015421287449633130gmail-" lang="pt"><span>Agora, eu quero ajustar o modelo usando o logistf (eu tenho motivos estatísticos para isso, não reproduzido aqui) usando a função calc do pacote raster.</span> <span>É aí que o mistério mora.</span><br><br><span class="m_7015421287449633130gmail-">O raciocínio na formulação do problema é que cada célula/pixel seguiria a segunite fórmula glm:</span></span><br><br>s1/layer1 ~ 27.00 + pixel correspondente em s2 + 27.00:pixel correspondente em s2<br>s1/layer2 ~ 30.02 + pixel correspondente em s2 + 30.02:pixel correspondente em s2<br>s1/layer3 ~ 31.07 + pixel correspondente em s2 + 31.07:pixel correspondente em s2<br><br><span id="m_7015421287449633130gmail-result_box" class="m_7015421287449633130gmail-" lang="pt"><span class="m_7015421287449633130gmail-">... e assim por diante para todas as 9 bandas/layers do meu raster-variável resposta s1, que são pareadas com valores de exp_2.</span></span><br><br><span id="m_7015421287449633130gmail-result_box" class="m_7015421287449633130gmail-" lang="pt"><span class="m_7015421287449633130gmail-">Eu tentei algo assim:</span><br><br><span class="m_7015421287449633130gmail-">fun <- function (x) { logistf (x ~ exp_2 + s2 + exp_2:s2)$coeficients }</span><br><span class="m_7015421287449633130gmail-">coefs <- calc(s1, fun)</span><br><br><span class="m_7015421287449633130gmail-">Mas estava claro que não funcionaria.</span> <span class="m_7015421287449633130gmail-">A parte complicada é infomar ao script que eu quero que cada valor de exp_2 seja usado com cada camada raster de s1 para este modelo.</span><br><br><span class="m_7015421287449633130gmail-">Qualquer idéia será muito útil.</span> <span>Idéias?<br><br></span></span></div><div><span id="m_7015421287449633130gmail-result_box" class="m_7015421287449633130gmail-" lang="pt"><span>Obrigado e abraços.<br></span></span></div><div><br clear="all"><div><div><div class="m_7015421287449633130gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div style="text-align:left"><p style="margin-bottom:0.0001pt;line-height:normal"></p><p style="margin:0px;font-family:Tahoma,Helvetica,sans-serif;font-size:13px"><b><i><span style="font-size:11pt;font-family:Calibri,sans-serif"><font color="#666666">Jefferson Ferreira-Ferreira, </font></span></i></b><b style="font-size:14.6667px;color:rgb(102,102,102);font-family:Calibri,sans-serif"><i>PhD (abd)</i></b></p><p style="margin:0px;font-family:Tahoma,Helvetica,sans-serif;font-size:13px"><b style="font-size:14.6667px;color:rgb(102,102,102);font-family:Calibri,sans-serif"><i>Geographer</i></b></p><p style="margin:0px;font-family:Tahoma,Helvetica,sans-serif;font-size:13px"><br></p><p style="margin:0px;font-family:Tahoma,Helvetica,sans-serif;font-size:13px"><img src="https://docs.google.com/uc?export=download&id=0Bx1sxcsX0M5_TmpYZUpvTWdOODA&revid=0Bx1sxcsX0M5_Wm5PNEMzRS8vdW0rREZIWVNoMVZXRGFqT1hnPQ" width="200" height="100"><br></p><p style="margin:0px;font-family:Tahoma,Helvetica,sans-serif;font-size:13px"><b style="font-size:14.6667px;color:rgb(102,102,102);font-family:Calibri,sans-serif"><i><a href="http://tscanada.wix.com/ecodyn" target="_blank">Ecosystem Dynamics Observatory</a> - EcoDyn/UNESP</i></b><br></p><div style="font-size:small"><font face="georgia, serif" color="#666666"><i>Department of </i></font><i style="color:rgb(102,102,102);font-family:georgia,serif">Geography </i></div><div><font size="2" face="georgia, serif" color="#666666"><i>Institute of Geosciences and Exact Sciences</i></font><font style="font-size:small" face="georgia, serif" color="#666666"><i> (IGCE)</i></font><br></div><div style="font-size:small"><font face="georgia, serif" color="#666666"><i>São Paulo State University (UNESP)</i></font></div><div style="font-size:small"><font face="georgia, serif" color="#666666"><i>Rio Claro, SP - Brazil</i></font></div></div></div></div><br></div></div></div></div></div></div></div></div></div></div>
</div></div></div>
</blockquote></div><br></div>