[R-br] Operações com datas

Rubem Kaipper Ceratti rubem_ceratti em yahoo.com.br
Terça Janeiro 17 17:14:17 BRST 2012


Alexandre,

seria mais ou menos isso:

dados$dia<-as.integer(format(dados$datas,"%d"))
dados$dia<-factor(ifelse(dados$dia>=1 & dados$dia<=15,"Q1","Q2"))

dados.1<-split(dados,format(dados$datas,"%y-%m"),drop=T)

dados.2<-lapply(dados.1,function(x){
  y<-aggregate(variavel~dia,FUN=mean,data=x)
  y$dia<-paste(substr(x$datas[1],1,7),"-",y$dia,sep="")
  return(y)
})

dados.2<-do.call(rbind,dados.2)

head(dados.2)

??

Att.,
Rubem


________________________________
 De: ASANTOS <alexandresantosbr em yahoo.com.br>
Para: r-br em listas.c3sl.ufpr.br 
Enviadas: Terça-feira, 17 de Janeiro de 2012 16:16
Assunto: [R-br] Operações com datas
 
Boa tarde pessoal,

     Tenho dados de temperatura e precipitação diárias de 1994 a 2001 em uma determinada fazenda. Preciso retira as médias do dia 1º ao 15º dia e do 15º ao último dia de cada mês, porém estou tendo problemas em trabalhar com as datas, exemplificando através de uma rotina venho fazendo:

### Criando o objeto com datas e a variável climática
x <- as.Date("1994-01-01")
times <- 1:2865
datas <- x+times
datas<-as.data.frame(datas)##Cria o vetor data de 01/01/1994 a 5/11/2001
variavel<-rnorm(2865)## Simula a variável medida no dia
dados<-cbind(datas,variavel)##Cria o objeto


## Cria um vetor temporal a cada 15 dias e adiciona aos dados
t<-1:191
for(i in 1:length(t)){xv<-sort(rep(t,15))}
xv<-as.data.frame(xv)
xv<-xv[1:2865,]
tp.1994_2001<-cbind(dados,xv)
head(tp.1994_2001)


## Calcula as médias a cada 15 dias
md<-1:2865
res<-NULL
for(k in 1:length(md)){Tm<-mean(tp.1994_2001[md[k],2])
res<-rbind(res,c(md[k],Tm))
}

Porém minha abordagem esta incorreta, quando na verdade eu desejo a média do 1° ao 15º dia e do 15º ao último dia do mês, e não a cada 15 dias, peguei alguns materiais de séries temporais usando o R, mas todos tratam diretamente das análises e não da manipulação de dados. Alguém saberia que abordagem eu poderia empregar para obter os resultados corretos ou alguma literatura que envolva a manipulação de datas,

Obrigado

-- Alexandre DOS SANTOS
Engenheiro Florestal, Msc.
Laboratório de Entomologia Florestal
Departamento de Entomologia
Universidade Federal de Lavras
Caixa Postal 3037
37200-000 - Lavras - Minas Gerais - Brasil
Tel: +55 35 92230304

_______________________________________________
R-br mailing list
R-br em 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.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120117/da6f92e0/attachment.html>


Mais detalhes sobre a lista de discussão R-br