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,