#Diretório raiz
rootDir <- 'C:\\Users\\user\\Desktop\\'
#Diretório da base de dados observados a ser lida
dataDir <- paste(rootDir,'entrada\\',sep='')
#Diretório onde escreverá os arquivos
outputloc <- paste(rootDir,'saida\\',sep='')
#nomes dos arquivos no diretorio (sem a extensao)
cidades = c("abelardoluz","aguaclara")
#vetor de latitudes, escritas na ordem correspondente as cidades acima
lat = c(-30, 0)
for (i in cidades){
estacao = i
a = read.table(paste(dataDir,estacao,'.txt',sep=''), sep = ";", header = T); str(a)
#--------------------Separar colunas de interesse--------------------#
a$DATE = as.Date(levels(a$DATE))[a$DATE]; str(a)
a$DiaJuliano = format(a$DATE, trim = T, '%j') ; a$DiaJuliano
a$DiaJuliano = as.numeric(format(a$DATE, trim = T, '%j')); str(a$DiaJuliano)
#--------------------Calculo das Variaves Astronomicas--------------------#
head(a)
corr = pi/180
a$decl = 23.45*sin(corr*((a$DiaJuliano-80)*360/365)); a$decl
#----Aqui esta o problema----#
a$hn = 1/corr*acos(-tan(corr*lat[(as.numeric(length(i)))])*tan(corr*a$decl))
a$N = 2*a$hn/15
head(a)
write.table(a,file=paste(outputloc,i,'.txt',sep=''),col.names=T, row.names=F, sep="\t")
}
Minha dificuldade está em utilizar apenas a latitude correspondente a cidade que estou abrindo no meu for().
Percebi que usando o comando length() sempre irei utilizar a ultima latitude do objeto "lat". As vezes que inseri um for() para ler as latitudes, cada cidade correu todas as lat informadas e também salvou apenas a última. Assim, minha intensão é conseguir fazer com que cada cidade utilize apenas a latitude correspondente do objeto lat.