Re: [R-br] Salvar saídas de um loop

2017-08-09 Por tôpico Mauro Sznelwar via R-br
Está um pouco complicado o conjunto de dados que enviou, são pastas onde cada uma tem um arquivo txt, como rodar tudo isto?
 
Boa tarde colegas listeiros!
 
Estou tendo um pequeno problema para salvar as saídas de um loop que fiz para preencher uma matriz com dados de diferentes arquivos. Meus arquivos base possuem informações anuais de produtividade (colunas) de 15 locais (linhas) para um determinado mês. Construí o loop com intenção de gerar um arquivo por local, contemplando as produtividades de cada mês (nas linhas) e de cada ano (nas colunas). Conferi o output do único arquivo salvo pelo script e os valores correspondem ao arranjo desejado, então acredito que a lógica para o preenchimento da matriz esteja correta. Os arquivos para executar a simulação estão em anexo e o script está no corpo do email.
 
Desde já, agradeço pela colaboração de todos!
 

rm(list = ls())
 
raiz = 'C:\\Users\\Yury\\Desktop\\Mestrado\\1_TESE\\Model_Data\\Maize\\PREVISAO\\PA\\' 
 
estrategia = c('E1', 'E2', 'E3', 'E4', 'E5')
meses = c('setembro', 'outubro', 'novembro', 'dezembro', 'janeiro', 'fevereiro', 'marco', 'abril')
cidade = c("abelardoluz", "altamira", "brasilia", "caarapo", "catalao", "lagarto", "machado", "mateiros",
           "muitoscapoes", "piracicaba", "pontagrossa", "primaveradoleste", "srmangab", "sdesiderio", "urucui")
anos = c(1980:2012)
previsao = matrix(NA, nrow = length(meses), ncol = length(1980:2012))
colnames(previsao) = 1980:2012
 
#for(e in 1:length(estrategias)){
  
  for(m in 1:length(meses)){
    
    a = read.table(paste0(raiz, 'E1\\', meses[m],'\\', 'final.txt'), header = T, sep = '\t')
    for(city in 1:length(cidade)){
      
      for(i in 1:length(anos)){
        
        previsao[m,i] = a[city,i]
      }
    }
    write.table(previsao, paste0(raiz, 'E1\\', cidade[city],'.txt'), row.names = F, col.names = T, sep = '\t')
  }
#}
 




Yury Duarte
Engenheiro Agrônomo - ESALQ/USP



__
R-br mailing list
R-br@listas.c3sl.ufpr.br
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.

Re: [R-br] Salvar saídas de um loop

2017-08-09 Por tôpico Mauro Sznelwar via R-br
Ele está anexado na primeira mensagem que foi enviada.
Não tem como acessar o arquivo que está na variável raiz.=Fernando SouzaCelular: (31)99796-8781 (Vivo)E-mail:nandodeso...@gmail.com==
 On Ago 9 2017, at 5:10 pm, Yury Duarte  wrote: 

Obrigado Fernando!
 
Vou dar uma olhada nessas sugestões, obrigado!Mas meu interesse é em executar a tarefa através do comando for() apenas.
Gostaria de entender porque meu código não é reproduzível, já que forneci ele na íntegra, juntamente com os arquivos necessários para alimenta-lo.
 
Att





Yury Duarte
Engenheiro Agrônomo - ESALQ/USP



Em 9 de agosto de 2017 16:57, Fernando Antonio de souza  escreveu:
Ah! Seu código não é reproduzível. Envie um código reproduzível para que possa receber ajuda.

 
att
=Fernando SouzaCelular: (31)99796-8781 (Vivo)E-mail:nandodeso...@gmail.com==

  On Ago 9 2017, at 4:48 pm, Yury Duarte via R-br  wrote:  



Boa tarde colegas listeiros!
 
Estou tendo um pequeno problema para salvar as saídas de um loop que fiz para preencher uma matriz com dados de diferentes arquivos. Meus arquivos base possuem informações anuais de produtividade (colunas) de 15 locais (linhas) para um determinado mês. Construí o loop com intenção de gerar um arquivo por local, contemplando as produtividades de cada mês (nas linhas) e de cada ano (nas colunas). Conferi o output do único arquivo salvo pelo script e os valores correspondem ao arranjo desejado, então acredito que a lógica para o preenchimento da matriz esteja correta. Os arquivos para executar a simulação estão em anexo e o script está no corpo do email.
 
Desde já, agradeço pela colaboração de todos!
 

rm(list = ls())
 
raiz = 'C:\\Users\\Yury\\Desktop\\Mestrado\\1_TESE\\Model_Data\\Maize\\PREVISAO\\PA\\' 
 
estrategia = c('E1', 'E2', 'E3', 'E4', 'E5')
meses = c('setembro', 'outubro', 'novembro', 'dezembro', 'janeiro', 'fevereiro', 'marco', 'abril')
cidade = c("abelardoluz", "altamira", "brasilia", "caarapo", "catalao", "lagarto", "machado", "mateiros",
           "muitoscapoes", "piracicaba", "pontagrossa", "primaveradoleste", "srmangab", "sdesiderio", "urucui")
anos = c(1980:2012)
previsao = matrix(NA, nrow = length(meses), ncol = length(1980:2012))
colnames(previsao) = 1980:2012
 
#for(e in 1:length(estrategias)){
  
  for(m in 1:length(meses)){
    
    a = read.table(paste0(raiz, 'E1\\', meses[m],'\\', 'final.txt'), header = T, sep = '\t')
    for(city in 1:length(cidade)){
      
      for(i in 1:length(anos)){
        
        previsao[m,i] = a[city,i]
      }
    }
    write.table(previsao, paste0(raiz, 'E1\\', cidade[city],'.txt'), row.names = F, col.names = T, sep = '\t')
  }
#}
 




Yury Duarte
Engenheiro Agrônomo - ESALQ/USP





___
R-br mailing list
R-br@listas.c3sl.ufpr.br
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 listR-br@listas.c3sl.ufpr.brhttps://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-brLeia 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
R-br@listas.c3sl.ufpr.br
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.

Re: [R-br] Salvar saídas de um loop

2017-08-09 Por tôpico FHRB Toledo via R-br
Yuri,

Veja se isso resolve seu problema... :

## meses
meses <- c('setembro', 'outubro', 'novembro', 'dezembro', 'janeiro',
'fevereiro', 'marco', 'abril')
names(meses) <- meses # precisam ser nomeados

## funcao que le um certo aquivo
readFile <- function(mes) read.table(paste0(mes, '/final.txt'), header =
TRUE, sep = '\t')

## carrega todos arquivos em 1 so
data_raw <- ldply(meses, readFile, .id = 'mes')

## formato longo
data_long <- melt(data_raw, id.vars = .(mes, cidades), variable.name =
'ano', value.name = 'prod')

## altera niveis de ano
levels(data_long$ano) <- 1980:2012

## uma pilha com as matrizes por cidade
stack <- dlply(data_long, .(cidades), function(set) dcast(set, mes ~ ano,
value.var = 'prod'))

Quanto a salvar cada cidade fica como desafio para você :)

2017-08-09 15:10 GMT-05:00 Yury Duarte via R-br :

> Obrigado Fernando!
>
> Vou dar uma olhada nessas sugestões, obrigado!
> Mas meu interesse é em executar a tarefa através do comando for() apenas.
> Gostaria de entender porque meu código não é reproduzível, já que forneci
> ele na íntegra, juntamente com os arquivos necessários para alimenta-lo.
>
> Att
>
> Yury Duarte
> Engenheiro Agrônomo - ESALQ/USP
>
> Em 9 de agosto de 2017 16:57, Fernando Antonio de souza <
> nandodeso...@gmail.com> escreveu:
>
>> Ah! Seu código não é reproduzível. Envie um código reproduzível para que
>> possa receber ajuda.
>>
>> att
>>
>> =
>> Fernando Souza
>> Celular: (31)99796-8781 (Vivo)
>> E-mail:nandodeso...@gmail.com
>> 
>> ==
>>
>> On Ago 9 2017, at 4:48 pm, Yury Duarte via R-br 
>> wrote:
>>
>>> Boa tarde colegas listeiros!
>>>
>>> Estou tendo um pequeno problema para salvar as saídas de um loop que fiz
>>> para preencher uma matriz com dados de diferentes arquivos. Meus arquivos
>>> base possuem informações anuais de produtividade (colunas) de 15 locais
>>> (linhas) para um determinado mês. Construí o loop com intenção de gerar um
>>> arquivo por local, contemplando as produtividades de cada mês (nas linhas)
>>> e de cada ano (nas colunas). Conferi o output do único arquivo salvo pelo
>>> script e os valores correspondem ao arranjo desejado, então acredito que a
>>> lógica para o preenchimento da matriz esteja correta. Os arquivos para
>>> executar a simulação estão em anexo e o script está no corpo do email.
>>>
>>> Desde já, agradeço pela colaboração de todos!
>>>
>>> rm(list = ls())
>>>
>>> raiz = 'C:\\Users\\Yury\\Desktop\\Mestrado\\1_TESE\\Model_Data\\Mai
>>> ze\\PREVISAO\\PA\\'
>>>
>>> estrategia = c('E1', 'E2', 'E3', 'E4', 'E5')
>>> meses = c('setembro', 'outubro', 'novembro', 'dezembro', 'janeiro',
>>> 'fevereiro', 'marco', 'abril')
>>> cidade = c("abelardoluz", "altamira", "brasilia", "caarapo", "catalao",
>>> "lagarto", "machado", "mateiros",
>>>"muitoscapoes", "piracicaba", "pontagrossa",
>>> "primaveradoleste", "srmangab", "sdesiderio", "urucui")
>>> anos = c(1980:2012)
>>> previsao = matrix(NA, nrow = length(meses), ncol = length(1980:2012))
>>> colnames(previsao) = 1980:2012
>>>
>>> #for(e in 1:length(estrategias)){
>>>
>>>   for(m in 1:length(meses)){
>>>
>>> a = read.table(paste0(raiz, 'E1\\', meses[m],'\\', 'final.txt'),
>>> header = T, sep = '\t')
>>> for(city in 1:length(cidade)){
>>>
>>>   for(i in 1:length(anos)){
>>>
>>> previsao[m,i] = a[city,i]
>>>   }
>>> }
>>> write.table(previsao, paste0(raiz, 'E1\\', cidade[city],'.txt'),
>>> row.names = F, col.names = T, sep = '\t')
>>>   }
>>> #}
>>>
>>> Yury Duarte
>>> Engenheiro Agrônomo - ESALQ/USP
>>>
>>> ___
>>> R-br mailing 
>>> listr...@listas.c3sl.ufpr.brhttps://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
> R-br@listas.c3sl.ufpr.br
> 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
R-br@listas.c3sl.ufpr.br
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.

Re: [R-br] Salvar saídas de um loop

2017-08-09 Por tôpico Fernando Antonio de souza via R-br
Não tem como acessar o arquivo que está na variável raiz.=Fernando SouzaCelular: (31)99796-8781 (Vivo)E-mail:nandodeso...@gmail.com==
  

On Ago 9 2017, at 5:10 pm, Yury Duarte  wrote:


  Obrigado Fernando!Vou dar uma olhada nessas sugestões, obrigado!Mas meu interesse é em executar a tarefa através do comando for() apenas.Gostaria de entender porque meu código não é reproduzível, já que forneci ele na íntegra, juntamente com os arquivos necessários para alimenta-lo.AttYury DuarteEngenheiro Agrônomo - ESALQ/USP
Em 9 de agosto de 2017 16:57, Fernando Antonio de souza  escreveu:Ah! Seu código não é reproduzível. Envie um código reproduzível para que possa receber ajuda.att=Fernando SouzaCelular: (31)99796-8781 (Vivo)E-mail:nandodeso...@gmail.com==
  

On Ago 9 2017, at 4:48 pm, Yury Duarte via R-br  wrote:


  Boa tarde colegas listeiros!Estou tendo um pequeno problema para salvar as saídas de um loop que fiz para preencher uma matriz com dados de diferentes arquivos. Meus arquivos base possuem informações anuais de produtividade (colunas) de 15 locais (linhas) para um determinado mês. Construí o loop com intenção de gerar um arquivo por local, contemplando as produtividades de cada mês (nas linhas) e de cada ano (nas colunas). Conferi o output do único arquivo salvo pelo script e os valores correspondem ao arranjo desejado, então acredito que a lógica para o preenchimento da matriz esteja correta. Os arquivos para executar a simulação estão em anexo e o script está no corpo do email.Desde já, agradeço pela colaboração de todos!rm(list = ls())raiz = 'C:\\Users\\Yury\\Desktop\\Mestrado\\1_TESE\\Model_Data\\Maize\\PREVISAO\\PA\\' estrategia = c('E1', 'E2', 'E3', 'E4', 'E5')meses = c('setembro', 'outubro', 'novembro', 'dezembro', 'janeiro', 'fevereiro', 'marco', 'abril')cidade = c("abelardoluz", "altamira", "brasilia", "caarapo", "catalao", "lagarto", "machado", "mateiros",           "muitoscapoes", "piracicaba", "pontagrossa", "primaveradoleste", "srmangab", "sdesiderio", "urucui")anos = c(1980:2012)previsao = matrix(NA, nrow = length(meses), ncol = length(1980:2012))colnames(previsao) = 1980:2012#for(e in 1:length(estrategias)){    for(m in 1:length(meses)){        a = read.table(paste0(raiz, 'E1\\', meses[m],'\\', 'final.txt'), header = T, sep = '\t')    for(city in 1:length(cidade)){            for(i in 1:length(anos)){                previsao[m,i] = a[city,i]      }    }    write.table(previsao, paste0(raiz, 'E1\\', cidade[city],'.txt'), row.names = F, col.names = T, sep = '\t')  }#}Yury DuarteEngenheiro Agrônomo - ESALQ/USP

___
R-br mailing list
R-br@listas.c3sl.ufpr.br
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
R-br@listas.c3sl.ufpr.br
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.

Re: [R-br] Modelo de regressão envolvendo rasters e vetores numéricos

2017-08-09 Por tôpico Jefferson Ferreira-Ferreira via R-br
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.
Abraços.


library(raster)
library(logistf)

# Criando 2 rasters para reproduzir o que estou enfrentando
r <- raster(nrow=10, ncol=10)

# Variável-raster resposta (binária) com 9 bandas/layers
s1 <- lapply(1:9, function(i) setValues(r, sample(0:1,ncell(r),replace =
T)))
s1 <- stack(s1)

# um raster-variável preditora
val <- sample(0:60,ncell(r),replace = T)
s2 <- raster(nrow=10, ncol=10,vals=val)

plot(s1)
plot(s2)

# Uma segunda variável preditora armazenada como vetor numérico: 9 valores
assim como existem 9 bandas/layres em s1 (não é coincidência)
exp_2 <- c(27.00,30.02,31.07,32.72,33.73,35.12,35.65,36.06,38.32)

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. É aí que o mistério mora.

O raciocínio na formulação do problema é que cada célula/pixel seguiria a
segunite fórmula glm:

s1 ~ 27.00 + pixel correspondente em s2 + 27.00:pixel correspondente em s2
s1 ~ 30.02 + pixel correspondente em s2 + 30.02:pixel correspondente em s2
s1 ~ 31.07 + pixel correspondente em s2 + 31.07:pixel correspondente em s2

... e assim por diante para todos os 9 valores de exp_2.

Eu tentei algo assim:

fun <- function (x) { logistf (x ~ exp_2 + s2 + exp_2:s2)$coeficients }
coefs <- calc(s1, fun)

Mas estava claro que não funcionaria. Provavelmente por causa das
diferentes dimensões/número de rasterlayers neste conjunto de dados. Estou
recebendo a mensagem de erro:

Error in .calcTest(x[1:5], fun, na.rm, forcefun, forceapply) :
cannot use this function

*Jefferson Ferreira-Ferreira, **PhD (abd)*

*Geographer*



*Ecosystem Dynamics Observatory  -
EcoDyn/UNESP*
*Department of **Geography *
*Institute of Geosciences and Exact Sciences** (IGCE)*
*São Paulo State University (UNESP)*
*Rio Claro, SP - Brazil*


Em 9 de agosto de 2017 16:07, Jefferson Ferreira-Ferreira  escreveu:

>
> Pessoal,
>
> 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. Para ilustrar o problema:
>
> library(raster)
> library(logistf)
>
> # Criando 2 rasters para reproduzir o que estou enfrentando
> r <- raster(nrow=10, ncol=10)
>
> # Variável-raster resposta (binária) com 9 bandas/layers
> s1 <- lapply(1:9, function(i) setValues(r, sample(0:1,ncell(r),replace =
> T)))
> s1 <- stack(s1)
>
> # um raster-variável preditora
> val <- sample(0:60,ncell(r),replace = T)
> s2 <- raster(nrow=10, ncol=10,vals=val)
>
> plot(s1)
> plot(s2)
>
> # Uma segunda variável preditora armazenada como vetor numérico: 9 valores
> assim como existem 9 bandas/layres em s1 (não é coincidência)
> exp_2 <- c(27.00,30.02,31.07,32.72,33.73,35.12,35.65,36.06,38.32)
>
> 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. É aí que o mistério mora.
>
> O raciocínio na formulação do problema é que cada célula/pixel seguiria a
> segunite fórmula glm:
>
> s1/layer1 ~ 27.00 + pixel correspondente em s2 + 27.00:pixel
> correspondente em s2
> s1/layer2 ~ 30.02 + pixel correspondente em s2 + 30.02:pixel
> correspondente em s2
> s1/layer3 ~ 31.07 + pixel correspondente em s2 + 31.07:pixel
> correspondente em s2
>
> ... 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.
>
> Eu tentei algo assim:
>
> fun <- function (x) { logistf (x ~ exp_2 + s2 + exp_2:s2)$coeficients }
> coefs <- calc(s1, fun)
>
> Mas estava claro que não funcionaria. 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.
>
> Qualquer idéia será muito útil. Idéias?
>
> Obrigado e abraços.
>
> *Jefferson Ferreira-Ferreira, **PhD (abd)*
>
> *Geographer*
>
>
>
> *Ecosystem Dynamics Observatory  -
> EcoDyn/UNESP*
> *Department of **Geography *
> *Institute of Geosciences and Exact Sciences** (IGCE)*
> *São Paulo State University (UNESP)*
> *Rio Claro, SP - Brazil*
>
>
___
R-br mailing list
R-br@listas.c3sl.ufpr.br
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.

Re: [R-br] Salvar saídas de um loop

2017-08-09 Por tôpico Yury Duarte via R-br
Obrigado Fernando!

Vou dar uma olhada nessas sugestões, obrigado!
Mas meu interesse é em executar a tarefa através do comando for() apenas.
Gostaria de entender porque meu código não é reproduzível, já que forneci
ele na íntegra, juntamente com os arquivos necessários para alimenta-lo.

Att

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP

Em 9 de agosto de 2017 16:57, Fernando Antonio de souza <
nandodeso...@gmail.com> escreveu:

> Ah! Seu código não é reproduzível. Envie um código reproduzível para que
> possa receber ajuda.
>
> att
>
> =
> Fernando Souza
> Celular: (31)99796-8781 (Vivo)
> E-mail:nandodeso...@gmail.com
> 
> ==
>
> On Ago 9 2017, at 4:48 pm, Yury Duarte via R-br 
> wrote:
>
>> Boa tarde colegas listeiros!
>>
>> Estou tendo um pequeno problema para salvar as saídas de um loop que fiz
>> para preencher uma matriz com dados de diferentes arquivos. Meus arquivos
>> base possuem informações anuais de produtividade (colunas) de 15 locais
>> (linhas) para um determinado mês. Construí o loop com intenção de gerar um
>> arquivo por local, contemplando as produtividades de cada mês (nas linhas)
>> e de cada ano (nas colunas). Conferi o output do único arquivo salvo pelo
>> script e os valores correspondem ao arranjo desejado, então acredito que a
>> lógica para o preenchimento da matriz esteja correta. Os arquivos para
>> executar a simulação estão em anexo e o script está no corpo do email.
>>
>> Desde já, agradeço pela colaboração de todos!
>>
>> rm(list = ls())
>>
>> raiz = 'C:\\Users\\Yury\\Desktop\\Mestrado\\1_TESE\\Model_Data\\Mai
>> ze\\PREVISAO\\PA\\'
>>
>> estrategia = c('E1', 'E2', 'E3', 'E4', 'E5')
>> meses = c('setembro', 'outubro', 'novembro', 'dezembro', 'janeiro',
>> 'fevereiro', 'marco', 'abril')
>> cidade = c("abelardoluz", "altamira", "brasilia", "caarapo", "catalao",
>> "lagarto", "machado", "mateiros",
>>"muitoscapoes", "piracicaba", "pontagrossa",
>> "primaveradoleste", "srmangab", "sdesiderio", "urucui")
>> anos = c(1980:2012)
>> previsao = matrix(NA, nrow = length(meses), ncol = length(1980:2012))
>> colnames(previsao) = 1980:2012
>>
>> #for(e in 1:length(estrategias)){
>>
>>   for(m in 1:length(meses)){
>>
>> a = read.table(paste0(raiz, 'E1\\', meses[m],'\\', 'final.txt'),
>> header = T, sep = '\t')
>> for(city in 1:length(cidade)){
>>
>>   for(i in 1:length(anos)){
>>
>> previsao[m,i] = a[city,i]
>>   }
>> }
>> write.table(previsao, paste0(raiz, 'E1\\', cidade[city],'.txt'),
>> row.names = F, col.names = T, sep = '\t')
>>   }
>> #}
>>
>> Yury Duarte
>> Engenheiro Agrônomo - ESALQ/USP
>>
>> ___
>> R-br mailing 
>> listr...@listas.c3sl.ufpr.brhttps://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
R-br@listas.c3sl.ufpr.br
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] Modelo de regressão envolvendo rasters e vetores numéricos

2017-08-09 Por tôpico Jefferson Ferreira-Ferreira via R-br
Pessoal,

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. Para ilustrar o problema:

library(raster)
library(logistf)

# Criando 2 rasters para reproduzir o que estou enfrentando
r <- raster(nrow=10, ncol=10)

# Variável-raster resposta (binária) com 9 bandas/layers
s1 <- lapply(1:9, function(i) setValues(r, sample(0:1,ncell(r),replace =
T)))
s1 <- stack(s1)

# um raster-variável preditora
val <- sample(0:60,ncell(r),replace = T)
s2 <- raster(nrow=10, ncol=10,vals=val)

plot(s1)
plot(s2)

# Uma segunda variável preditora armazenada como vetor numérico: 9 valores
assim como existem 9 bandas/layres em s1 (não é coincidência)
exp_2 <- c(27.00,30.02,31.07,32.72,33.73,35.12,35.65,36.06,38.32)

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. É aí que o mistério mora.

O raciocínio na formulação do problema é que cada célula/pixel seguiria a
segunite fórmula glm:

s1/layer1 ~ 27.00 + pixel correspondente em s2 + 27.00:pixel correspondente
em s2
s1/layer2 ~ 30.02 + pixel correspondente em s2 + 30.02:pixel correspondente
em s2
s1/layer3 ~ 31.07 + pixel correspondente em s2 + 31.07:pixel correspondente
em s2

... 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.

Eu tentei algo assim:

fun <- function (x) { logistf (x ~ exp_2 + s2 + exp_2:s2)$coeficients }
coefs <- calc(s1, fun)

Mas estava claro que não funcionaria. 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.

Qualquer idéia será muito útil. Idéias?

Obrigado e abraços.

*Jefferson Ferreira-Ferreira, **PhD (abd)*

*Geographer*



*Ecosystem Dynamics Observatory  -
EcoDyn/UNESP*
*Department of **Geography *
*Institute of Geosciences and Exact Sciences** (IGCE)*
*São Paulo State University (UNESP)*
*Rio Claro, SP - Brazil*
___
R-br mailing list
R-br@listas.c3sl.ufpr.br
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.

Re: [R-br] Salvar saídas de um loop

2017-08-09 Por tôpico Fernando Antonio de souza via R-br
Ah! Seu código não é reproduzível. Envie um código reproduzível para que possa receber ajuda.att=Fernando SouzaCelular: (31)99796-8781 (Vivo)E-mail:nandodeso...@gmail.com==
  

On Ago 9 2017, at 4:48 pm, Yury Duarte via R-br  wrote:


  Boa tarde colegas listeiros!Estou tendo um pequeno problema para salvar as saídas de um loop que fiz para preencher uma matriz com dados de diferentes arquivos. Meus arquivos base possuem informações anuais de produtividade (colunas) de 15 locais (linhas) para um determinado mês. Construí o loop com intenção de gerar um arquivo por local, contemplando as produtividades de cada mês (nas linhas) e de cada ano (nas colunas). Conferi o output do único arquivo salvo pelo script e os valores correspondem ao arranjo desejado, então acredito que a lógica para o preenchimento da matriz esteja correta. Os arquivos para executar a simulação estão em anexo e o script está no corpo do email.Desde já, agradeço pela colaboração de todos!rm(list = ls())raiz = 'C:\\Users\\Yury\\Desktop\\Mestrado\\1_TESE\\Model_Data\\Maize\\PREVISAO\\PA\\' estrategia = c('E1', 'E2', 'E3', 'E4', 'E5')meses = c('setembro', 'outubro', 'novembro', 'dezembro', 'janeiro', 'fevereiro', 'marco', 'abril')cidade = c("abelardoluz", "altamira", "brasilia", "caarapo", "catalao", "lagarto", "machado", "mateiros",           "muitoscapoes", "piracicaba", "pontagrossa", "primaveradoleste", "srmangab", "sdesiderio", "urucui")anos = c(1980:2012)previsao = matrix(NA, nrow = length(meses), ncol = length(1980:2012))colnames(previsao) = 1980:2012#for(e in 1:length(estrategias)){    for(m in 1:length(meses)){        a = read.table(paste0(raiz, 'E1\\', meses[m],'\\', 'final.txt'), header = T, sep = '\t')    for(city in 1:length(cidade)){            for(i in 1:length(anos)){                previsao[m,i] = a[city,i]      }    }    write.table(previsao, paste0(raiz, 'E1\\', cidade[city],'.txt'), row.names = F, col.names = T, sep = '\t')  }#}Yury DuarteEngenheiro Agrônomo - ESALQ/USP

___
R-br mailing list
R-br@listas.c3sl.ufpr.br
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
R-br@listas.c3sl.ufpr.br
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.

Re: [R-br] Salvar saídas de um loop

2017-08-09 Por tôpico Fernando Antonio de souza via R-br
Você está tentando inventar a roda.Veja o funcionamento da função agreggate.No pacote plyr, também existem funções que facilitam esse tipo de questão.=Fernando SouzaCelular: (31)99796-8781 (Vivo)E-mail:nandodeso...@gmail.com==
  

On Ago 9 2017, at 4:48 pm, Yury Duarte via R-br  wrote:


  Boa tarde colegas listeiros!Estou tendo um pequeno problema para salvar as saídas de um loop que fiz para preencher uma matriz com dados de diferentes arquivos. Meus arquivos base possuem informações anuais de produtividade (colunas) de 15 locais (linhas) para um determinado mês. Construí o loop com intenção de gerar um arquivo por local, contemplando as produtividades de cada mês (nas linhas) e de cada ano (nas colunas). Conferi o output do único arquivo salvo pelo script e os valores correspondem ao arranjo desejado, então acredito que a lógica para o preenchimento da matriz esteja correta. Os arquivos para executar a simulação estão em anexo e o script está no corpo do email.Desde já, agradeço pela colaboração de todos!rm(list = ls())raiz = 'C:\\Users\\Yury\\Desktop\\Mestrado\\1_TESE\\Model_Data\\Maize\\PREVISAO\\PA\\' estrategia = c('E1', 'E2', 'E3', 'E4', 'E5')meses = c('setembro', 'outubro', 'novembro', 'dezembro', 'janeiro', 'fevereiro', 'marco', 'abril')cidade = c("abelardoluz", "altamira", "brasilia", "caarapo", "catalao", "lagarto", "machado", "mateiros",           "muitoscapoes", "piracicaba", "pontagrossa", "primaveradoleste", "srmangab", "sdesiderio", "urucui")anos = c(1980:2012)previsao = matrix(NA, nrow = length(meses), ncol = length(1980:2012))colnames(previsao) = 1980:2012#for(e in 1:length(estrategias)){    for(m in 1:length(meses)){        a = read.table(paste0(raiz, 'E1\\', meses[m],'\\', 'final.txt'), header = T, sep = '\t')    for(city in 1:length(cidade)){            for(i in 1:length(anos)){                previsao[m,i] = a[city,i]      }    }    write.table(previsao, paste0(raiz, 'E1\\', cidade[city],'.txt'), row.names = F, col.names = T, sep = '\t')  }#}Yury DuarteEngenheiro Agrônomo - ESALQ/USP

___
R-br mailing list
R-br@listas.c3sl.ufpr.br
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
R-br@listas.c3sl.ufpr.br
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] Salvar saídas de um loop

2017-08-09 Por tôpico Yury Duarte via R-br
Boa tarde colegas listeiros!

Estou tendo um pequeno problema para salvar as saídas de um loop que fiz
para preencher uma matriz com dados de diferentes arquivos. Meus arquivos
base possuem informações anuais de produtividade (colunas) de 15 locais
(linhas) para um determinado mês. Construí o loop com intenção de gerar um
arquivo por local, contemplando as produtividades de cada mês (nas linhas)
e de cada ano (nas colunas). Conferi o output do único arquivo salvo pelo
script e os valores correspondem ao arranjo desejado, então acredito que a
lógica para o preenchimento da matriz esteja correta. Os arquivos para
executar a simulação estão em anexo e o script está no corpo do email.

Desde já, agradeço pela colaboração de todos!

rm(list = ls())

raiz = 'C:\\Users\\Yury\\Desktop\\Mestrado\\1_TESE\\Model_Data\\
Maize\\PREVISAO\\PA\\'

estrategia = c('E1', 'E2', 'E3', 'E4', 'E5')
meses = c('setembro', 'outubro', 'novembro', 'dezembro', 'janeiro',
'fevereiro', 'marco', 'abril')
cidade = c("abelardoluz", "altamira", "brasilia", "caarapo", "catalao",
"lagarto", "machado", "mateiros",
   "muitoscapoes", "piracicaba", "pontagrossa", "primaveradoleste",
"srmangab", "sdesiderio", "urucui")
anos = c(1980:2012)
previsao = matrix(NA, nrow = length(meses), ncol = length(1980:2012))
colnames(previsao) = 1980:2012

#for(e in 1:length(estrategias)){

  for(m in 1:length(meses)){

a = read.table(paste0(raiz, 'E1\\', meses[m],'\\', 'final.txt'), header
= T, sep = '\t')
for(city in 1:length(cidade)){

  for(i in 1:length(anos)){

previsao[m,i] = a[city,i]
  }
}
write.table(previsao, paste0(raiz, 'E1\\', cidade[city],'.txt'),
row.names = F, col.names = T, sep = '\t')
  }
#}

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP


E1.rar
Description: application/rar
___
R-br mailing list
R-br@listas.c3sl.ufpr.br
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] ​Adicionar restrições a parâmetros em regressão não

2017-08-09 Por tôpico Wenceslau Teixeira via R-br
>
>
> Para o  codigo que o Walmes disponibilizou para as curvas bimodais de
> Durner e preciso instalar o package
>

minpack.lm

​install.packages("minpack.lm")
​


>
> --
>
> Message: 1
> Date: Tue, 8 Aug 2017 12:02:29 -0300
> From: Walmes Zeviani 
> To: Delcio Rudinei Bortolanza ,  a
> lista Brasileira oficial de discussão do programa R.
> 
> Subject: Re: [R-br] Adicionar restrições a parâmetros em regressão
> não linear no R
> Message-ID:
>