
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@yahoo.com.br> Para: r-br@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@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.