<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt"><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><span>Alexandre,</span></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><span><br></span></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><span>seria mais ou menos isso:</span></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><span><br></span></div><div><span style="font-size: 13px; "><font><div style="font-family: 'Courier New', courier, monaco, monospace, sans-serif; ">dados$dia<-as.integer(format(dados$datas,"%d"))</div><div style="font-family: 'Courier New', courier, monaco, monospace, sans-serif; ">dados$dia<-factor(ifelse(dados$dia>=1 & dados$dia<=15,"Q1","Q2"))</div><div style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;
"><br></div><div style="font-family: 'Courier New', courier, monaco, monospace, sans-serif; ">dados.1<-split(dados,format(dados$datas,"%y-%m"),drop=T)</div><div style="font-family: 'Courier New', courier, monaco, monospace, sans-serif; "><br></div><div style="font-family: 'Courier New', courier, monaco, monospace, sans-serif; ">dados.2<-lapply(dados.1,function(x){</div><div style="font-family: 'Courier New', courier, monaco, monospace, sans-serif; "> y<-aggregate(variavel~dia,FUN=mean,data=x)</div><div style="font-family: 'Courier New', courier, monaco, monospace, sans-serif; "> y$dia<-paste(substr(x$datas[1],1,7),"-",y$dia,sep="")</div><div style="font-family: 'Courier New', courier, monaco, monospace, sans-serif; "> return(y)</div><div style="font-family: 'Courier New', courier, monaco, monospace, sans-serif; ">})</div><div style="font-family: 'Courier New', courier, monaco, monospace, sans-serif; "><br></div><div
style="font-family: 'Courier New', courier, monaco, monospace, sans-serif; ">dados.2<-do.call(rbind,dados.2)</div><div style="font-family: 'Courier New', courier, monaco, monospace, sans-serif; "><br></div><div style="font-family: 'Courier New', courier, monaco, monospace, sans-serif; ">head(dados.2)</div><div><br></div><div>??</div><div><br></div><div>Att.,</div><div>Rubem</div></font></span></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div> <div style="font-size: 10pt; font-family: arial, helvetica, sans-serif; "> <div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1"> <b><span style="font-weight:bold;">De:</span></b> ASANTOS <alexandresantosbr@yahoo.com.br><br> <b><span style="font-weight: bold;">Para:</span></b> r-br@listas.c3sl.ufpr.br <br> <b><span style="font-weight: bold;">Enviadas:</span></b>
Terça-feira, 17 de Janeiro de 2012 16:16<br> <b><span style="font-weight: bold;">Assunto:</span></b> [R-br] Operações com datas<br> </font> </div> <br>Boa tarde pessoal,<br><br> 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:<br><br>### Criando o objeto com datas e a variável climática<br>x <- as.Date("1994-01-01")<br>times <- 1:2865<br>datas <- x+times<br>datas<-as.data.frame(datas)##Cria o vetor data de 01/01/1994 a 5/11/2001<br>variavel<-rnorm(2865)## Simula a variável medida no dia<br>dados<-cbind(datas,variavel)##Cria o objeto<br><br><br>## Cria um vetor temporal a cada 15 dias e adiciona aos dados<br>t<-1:191<br>for(i in
1:length(t)){xv<-sort(rep(t,15))}<br>xv<-as.data.frame(xv)<br>xv<-xv[1:2865,]<br>tp.1994_2001<-cbind(dados,xv)<br>head(tp.1994_2001)<br><br><br>## Calcula as médias a cada 15 dias<br>md<-1:2865<br>res<-NULL<br>for(k in 1:length(md)){Tm<-mean(tp.1994_2001[md[k],2])<br>res<-rbind(res,c(md[k],Tm))<br>}<br><br>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,<br><br>Obrigado<br><br>-- Alexandre DOS SANTOS<br>Engenheiro Florestal, Msc.<br>Laboratório de Entomologia Florestal<br>Departamento de Entomologia<br>Universidade Federal de Lavras<br>Caixa Postal
3037<br>37200-000 - Lavras - Minas Gerais - Brasil<br>Tel: +55 35 92230304<br><br>_______________________________________________<br>R-br mailing list<br><a ymailto="mailto:R-br@listas.c3sl.ufpr.br" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br><a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br><br><br> </div> </div> </div></body></html>