segunda-feira, janeiro 14, 2013

R: Análise de dados pluviométricos com o hydroTSM

A biblioteca  HydroTSM - Hydrological time series plotting and extraction, amplia a versatilidade do  R no que diz respeito ao trabalho com dados hidrológicos, possibilitando diversas análises e criação de gráficos de séries temporais pluviométricas e fluviométricas.

Por exemplo, a partir de dados coletados diariamente de uma estação pluviométrica, podem ser gerados gráficos de linhas, boxplots e histogramas, em três diferentes escalas de tempo (diário, mensal e anual).

O exemplo abaixo foi aplicado para a série histórica do posto pluviométrico de També, na Bacia do Rio Gramame (PB), entre os anos de 1972 a 1987:

#carregando a biblioteca:
library(hydroTSM)
#carregando os dados do posto pluv.
# de també (bacia do Gramame)
tambe <- read.zoo(
  "/home/marcello/tambe.csv",
  format="%m/%d/%Y", #formato das datas no arquivo (mês/dia/ano)
  sep=";", #separador dos dados
  tz="GMT", #timezone
  header=TRUE
)
#Plotando o Gráfico
hydroplot(
  tambe, 
  var.type="Precipitation",
  pfreq = "dma" #dma = diário, mensal e anual
)

O resultado pode ser visto na Figura 1:  

Figura 1 - Saída do comando  hydroplot

Uma outra saída interessante é a criação de treemaps, como mostra o script abaixo, o resultado pode ser conferido na Figura 2:

#gerando dados mensais a partir das leituras diárias
dados_mensais <- daily2monthly(tambe, FUN=sum)
#criando a matriz com os dados mensais 
M.dados_mensais <- matrix(monthly, ncol=12, byrow=TRUE)
#colocando os "headers" na matriz
colnames(M.dados_mensais) <- month.abb
rownames(M.dados_mensais) <- unique(format(time(monthly), "%Y"))
#carregando a biblioteca lattice (necessário)
require(lattice)
#plotand os dados
matrixplot(
  M.dados_mensais,
  ColorRamp="Precipitation",
  main="Precipitação mensal no posto També (mm/mês)"
)

Figura 2 - Heatmap: Precipitação mensal/Ano

Sugestões de Leitura

Nenhum comentário: