Jackson,

Se a quantidade de medidas que você possui for alta, entao o seu conjunto de dados é um perfeito candidato para pacotes que trabalhem com big data. A minha recomendação é o data.table, porque ele é otimizado para trabalhar com dados de tamanho na casa das dezenas ou centenas de gigabytes. 

A seguir eu vou mostrar um exemplo da sumarizacao que você precisa fazer, baseado em dados aleatórios de temperatura gerados no próprio exemplo. Gerei dados de temperatura porque a variabilidade dos dados é mais previsível, mas é só para você ter ideia de como funciona e adaptar para o seu caso.

O truque do código é separar a data em dia, mes e ano, e rodar o comando de sumarização para a frequencia que voce precisa (diaria, mensal etc). Veja o codigo a seguir e reporte de volta caso tenha alguma duvida.

# Cria sequencia de datas
idx = seq(as.Date("1961/1/1"), as.Date("2010/12/31"), by = "day")

# Cria sequencia aleatória de temperatura entre 10C e 30C
temp = runif(10, 30, n=length(idx))

# Organiza tudo em data frame, incluindo data "separada" em ano, mes e dia
DF <- data.frame(date=idx,
                 year=as.numeric(format(idx, format="%Y")),
                 month=as.numeric(format(idx, format="%m")),
                 day=as.numeric(format(idx, format="%d")),
                 temp=temp)

# Carrega pacote e converte data frame em data table
library(data.table)
DT <- data.table(DF)

# Roda as operações de sumarização que voce precisa
# Obviamente substitua mean por sum para somar os seus dados reais.
dt1 <- DT[, mean(temp), by = "day"]
dt2 <- DT[, mean(temp), by = c("day","month")]

Espero que ajude,
 -- Thiago V. dos Santos

PhD student
Land and Atmospheric Science
University of Minnesota


On Sunday, June 25, 2017 3:58 PM, Jackson Rodrigues via R-br <r-br@listas.c3sl.ufpr.br> wrote:


Olá pessoal,

Preciso muito da ajuda de vocês. Tenho que sintetizar dados de precipitação de vários dias e meses em uma única tabela.
No entanto, os dados que possuo estão dispersos em dias e horas diferentes. A maior frequência de observações estão nos dias mais chuvosos enquanto os dias mais secos tem poucas.

Vou colocar aqui um exemplo de tabela como os dados estão e em seguida a tabela que gostaria que se tornasse.

Os dados estão como na tabela abaixo que representa a precipitaçção de 1 único ano. Vejam que a quantidade de observações varia de um dia para outro o ano todo.

 
Dia
Hora
Prec
Jan
 
1
7:00
20
1
7:20
15
1
7:30
5
2
6:00
10
2
15:00
16
...
...
...
31
7:00
2
Fev
1
9:00
6
1
9:45
30
2
6:45
12
2
16:00
20
2
22:00
60
...
...
...
28
11:30
25
...
...
...
...
Dez
31
...
...

 Desse jeito fica difícil trabalhar quando for comparar com a precipitação dos outros anos.
Assim gostaria de sintetizar toda essa informação em uma única tabela.

Somar tudo que for de Janeiro 1, somar tudo que for de janeiro 2 e assim por diante até o fim do ano gerando a tabela a seguir.

Mês       Dia->
1
2
3
4
...
31
 
Jan
40
16
50
66
...
90
Total precipitado por dia
Fev
60
120
25
45
...
87
...
...
...
...
...
...
...
Dez
120
30
26
90
...
5

A grande questão é como fazê-lo. 
Preciso de um comando que diga some tudo que for do dia 1 de Jan, some tudo de 2 de Jan e assim sucessivamente.

Alguém poderia me ajudar com isso?

Obrigado

Jackson


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