[R-br] concatenar dados de muitas estações.

Helena Turon helena.turon em gmail.com
Quinta Maio 16 20:19:50 BRT 2013


Prezados,

Tenho dados (em torno de 60.000)  de 400 estações meteorológicas. Fiz um
programa que lê todas de uma vez. Mas, não consigo concatenar os dados para
representar só um Gráfico boxplot de cada região.

Me ensinaram estes comandos, que não consegui usar o “rbind” ao meu caso
(com muitos arquivos).

Aliás não consegui nem guardar os arquivos lidos (no caso prec e chuvav),
não consigo colocar número neles.

Os arquivos não têm o mesmo comprimento (por conta dos dados faltantes,
dias sem observações).

Por favor, alguém pode me ajudar?

Abraço,



setwd("F:/MyStuff/Coursera/StatsCourse/")

fil1<-"weather1.txt"

fil2<-"weather2.txt"

weather1<-read.csv(fil1, header=TRUE)

weather2<-read.csv(fil2, header=TRUE)

head(weather1)

head(weather2)

# Combine weather records

weather<-rbind(weather1, weather2)

# Boxplot on TempMaxima

boxplot(weather[, "TempMaxima"])



Segue uma simplificação do programa (para uma variável)

x1=list.files()

i=length(x1)

nome <- vector(mode="character",length=i)

listarq <- vector(mode="list",length=i)

 for(t in 1:i){

listarq[[t]] <- read.table(paste(x1[t]), header=TRUE, sep=",",
na.strings="NA", dec=".", strip.white=TRUE)

  nome[t] <- substr(paste(x1[t]),start=1,stop=(nchar(x1[t])-4))

   lugar <- getwd()

  nome2 <- substr(nome[t],start=1,stop=(nchar(lugar)))

   if (nome2=="") return();

 diretorio.nome <- strsplit(lugar,"/")[[1]]

diretorio.nome1 <- diretorio.nome[1]



for(j in 2:(length(diretorio.nome)-1))

diretorio.nome1<-paste(diretorio.nome1,diretorio.nome[j],sep="/")



est <- listarq[[t]][,1]

tempdma <- listarq[[t]][,2]

prec <- listarq[[t]][,4]

h=length(est)

tempdma <- as.character(tempdma)

mes <- vector(mode="character",length=h)

mes  <- substr (paste(tempdma),start=4,stop=(nchar(tempdma)-5))

 chuvav <-  vector(mode="numeric")

 pre1 <- paste(diretorio.nome1,"prec.jpg", sep="/")

prec_ver <- paste(diretorio.nome1,"precv.jpg", sep="/")

prec <- prec[prec > 0.25]



for(jj in 1:h){

nmes  <-  as.numeric(mes[jj])

aux  <- prec[jj]

if(!is.na(aux)){

if (aux >= 0.25){

if (nmes ==12| nmes ==1| nmes ==2){

chuvav[jj]<- aux

}

}

}

}

boxplot(prec, range=0,ylim=c(0,200), ylab = "Precipitação (mm)")

 dev.print(jpeg, filename= pre1, width=25, height=17, pointsize=17,
units="cm", res=80)

 dev.off()

boxplot(chuvav, range=0,ylim=c(0,200), ylab = "Precipitação (mm)")

 dev.print(jpeg, filename= prec_ver, width=25, height=17, pointsize=17,
units="cm", res=80)

 dev.off()

}


Exemplo dos dados:

Estacao,Data,Hora,Precipitacao,TempMaxima,TempMinima,UmidadeRelativa,

82294,01/01/1961,0000,,32.5,,,

82294,01/01/1961,1200,,,22.1,,

82294,02/01/1961,0000,,32.9,,,

82294,02/01/1961,1200,0,,22.1,,

82294,03/01/1961,0000,,33.3,,,

82294,03/01/1961,1200,0,,23.1,,

82294,04/01/1961,0000,,33.3,,,

82294,04/01/1961,1200,0,,23.3,,

82294,05/01/1961,0000,,32.9,,,

82294,05/01/1961,1200,0,,20.7,,

82294,06/01/1961,0000,,33.1,,,

82294,06/01/1961,1200,0,,20.7,,

82294,07/01/1961,0000,,33.5,,,

82294,07/01/1961,1200,0,,22.1,,



Estacao,Data,Hora,Precipitacao,TempMaxima,TempMinima,UmidadeRelativa,

83714,01/01/1961,0000,,20.2,,,

83714,01/01/1961,1200,,,14.8,94,

83714,01/01/1961,1800,,,,89,

83714,02/01/1961,0000,,20.3,,98,

83714,02/01/1961,1200,16.3,,15,98,

83714,02/01/1961,1800,,,,100,

83714,17/01/1961,0000,,23.1,,100,

83714,17/01/1961,1200,15.5,,13.6,100,

83714,17/01/1961,1800,,,,70,

83714,18/01/1961,0000,,24.2,,97,

83714,18/01/1961,1200,0,,11.7,82,

83714,18/01/1961,1800,,,,65,
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130516/e9a6ec3d/attachment.html>


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