<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Olá Romero,<br>
    <br>
    Precisei fazer algo similar para uma avaliação de um curso, que me
    inscrevi no Coursera.<br>
    Estou rodando o programa para 322 arquivos.<br>
    <br>
    Dá uma olhada:<br>
    <br>
    pollutantmean <- function(directory, pollutant, id = 1:332) {<br>
      ## 'directory' is a character vector of length 1 indicating<br>
      ## the location of the CSV files<br>
      <br>
      ## 'pollutant' is a character vector of length 1 indicating<br>
      ## the name of the pollutant for which we will calculate the<br>
      ## mean; either "sulfate" or "nitrate".<br>
      <br>
      ## 'id' is an integer vector indicating the monitor ID numbers<br>
      ## to be used<br>
      <br>
      ## Return the mean of the pollutant across all monitors list<br>
      ## in the 'id' vector (ignoring NA values)<br>
      ## NOTE: Do not round the result!  <br>
      <br>
      files_full <- list.files("specdata", full.names = TRUE)<br>
      files_full<br>
      <br>
    #   summary(files_full)<br>
      tmp <- vector(mode = "list", length = length(files_full))<br>
      <br>
      for (i in seq_along(files_full)) {<br>
        tmp[[i]] <- read.csv(files_full[[i]])<br>
      }<br>
      <br>
      output <- do.call(rbind, tmp)<br>
    #   str(output)<br>
      <br>
      output_subset <- subset(output, output[, "ID"] %in% id) #
    subset by any value<br>
      <br>
      <br>
      <br>
      if (pollutant == "sulfate")  {<br>
        mean(output_subset$sulfate, na.rm = TRUE)<br>
      } else if  (pollutant == "nitrate")  {<br>
        mean(output_subset$nitrate, na.rm = TRUE)<br>
      } else {<br>
        print("pollutant can only be nitrate or sulfate!")<br>
      }      <br>
    }<br>
    <br>
    Acho que pode servir a ti!<br>
    <br>
    Abs,<br>
    Vinícius<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 06/13/2015 04:56 PM, David Feitosa
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAL1rLtpe2mYKdARQ5RKejUmR_Sv2S=0E3eEsSMxUPGcLRjZmtA@mail.gmail.com"
      type="cite">
      <div dir="ltr">João, não sei o quão esse procedimento irá escalar,
        <div>mas considere usar um SGBD, como Postgresql/MySQL ou outro.</div>
        <div><br>
        </div>
        <div>Há um pacote sqldf que permite trabalhar com consultas à
          bases de dados</div>
        <div>e tratar o resultado como um dataframe.</div>
      </div>
      <div class="gmail_extra"><br clear="all">
        <div>
          <div class="gmail_signature">
            <div dir="ltr">
              <div>
                <div dir="ltr">
                  <div>
                    <div><br>
                    </div>
                    <div>Atenciosamente,</div>
                    <div><br>
                    </div>
                    David F.</div>
                </div>
              </div>
            </div>
          </div>
        </div>
        <br>
        <div class="gmail_quote">Em 8 de junho de 2015 11:19, joão
          Rodrigo Castro <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:joaorodrigo2005@gmail.com" target="_blank">joaorodrigo2005@gmail.com</a>></span>
          escreveu:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr">Entendi Augusto, vou implementar! Muito
              Obrigado<br>
            </div>
            <div class="HOEnZb">
              <div class="h5">
                <div class="gmail_extra"><br>
                  <div class="gmail_quote">Em 8 de junho de 2015 11:14,
                    Augusto Ribas <span dir="ltr"><<a
                        moz-do-not-send="true"
                        href="mailto:ribas.aca@gmail.com"
                        target="_blank">ribas.aca@gmail.com</a>></span>
                    escreveu:<br>
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      <div dir="ltr">Algo assim:<br>
                        <div><br>
                        </div>
                        <div>#Ve o nome dos arquivos da pasta, use getwd
                          e setwd se precisar mudar de pasta<br>
                        </div>
                        <div>arquivos<-list.files()<br>
                          <br>
                        </div>
                        <div>#pegue os arquivos que são .dat<br>
                        </div>
                        <div>indices<-grep(".dat",arquivos)<br>
                          arquivos[indices]<br>
                          <br>
                        </div>
                        <div>#separe um vetor com eles, podemos
                          reutilizar o vetor aqui<br>
                        </div>
                        <div>arquivos<-arquivos[indices]<br>
                          <br>
                        </div>
                        <div>#Ai você usa alguma estrutura de repetição,
                          um loop por exemplo, para processar um por um<br>
                        </div>
                        <div>for(i in 1:length(arquivos)) {<br>
                              print(paste("Lendo",arquivos[i]))<br>
                              #Seu codigo aqui<br>
                          }<br>
                          <br>
                        </div>
                        <div>#ai insira seu código ali, fazendo as
                          operações que tem que fazer, e juntando os
                          arquivos, salvando, o que for necessário.<br>
                        </div>
                      </div>
                      <div>
                        <div>
                          <div class="gmail_extra"><br>
                            <div class="gmail_quote">Em 8 de junho de
                              2015 10:06, joão Rodrigo Castro <span
                                dir="ltr"><<a moz-do-not-send="true"
href="mailto:joaorodrigo2005@gmail.com" target="_blank">joaorodrigo2005@gmail.com</a>></span>
                              escreveu:<br>
                              <blockquote class="gmail_quote"
                                style="margin:0 0 0 .8ex;border-left:1px
                                #ccc solid;padding-left:1ex">
                                <div dir="ltr">
                                  <div>
                                    <div>
                                      <div>Obrigado Augusto, vou dar uma
                                        olhada nas funções que vc citou.<br>
                                        <br>
                                      </div>
                                      Um trecho do código:<br>
                                      # Passo A<br>
                                      Teste_SF = read.table("<b>dado1</b>.dat",
                                      dec=".",h=T ,col.names = c( "ano",
                                      "mes", "jday","Rad","Tmax",
                                      "Tmin","stopo","trans","dt","lat","lon"))<br>
                                      Teste = subset(Teste_SF,
                                      trans<0.81 & Rad>1)<br>
                                      summary(Teste)<br>
                                      <br>
                                      # Passo B<br>
                                      dr = 1 + 0.033 *
                                      cos(0.0172*Teste$jday)<br>
                                      declin = 0.409 *
                                      sin(0.0172*Teste$jday - 1.39)<br>
                                      omega =
                                      acos(-tan(Teste$lat*pi/180) *
                                      tan(declin))<br>
                                      Teste$Rad_Pot =
                                      37.6*dr*(omega*sin(declin)*sin(Teste$lat*pi/180)
                                      +
                                      cos(declin)*cos(Teste$lat*pi/180)*sin(omega))<br>
                                      <br>
                                    </div>
                                    Há ainda outros passos onde os
                                    atributos dos arquivos são lidos e
                                    posteriormente utilizados em outros
                                    cálculos. No final é gerado um
                                    arquivo de saída com o write.table
                                    com os resultados obtidos.<br>
                                    <br>
                                  </div>
                                  <div>Então como são 38 arquivos
                                    (dado1.dat, dado2.dat,  etc ..... )
                                    a utilização de alguma função que
                                    permita a leitura de todos os
                                    arquivos, e depois fazer um loop
                                    pelos arquivos, tornaria mais
                                    dinâmica a tarefa. <br>
                                  </div>
                                  <div><br>
                                  </div>
                                  <div>Obrigado pelas dicas!<span><font
                                        color="#888888"><br>
                                      </font></span></div>
                                  <span><font color="#888888">
                                      <div>João<br>
                                      </div>
                                      <div><br>
                                        <br>
                                      </div>
                                    </font></span></div>
                                <div>
                                  <div>
                                    <div class="gmail_extra"><br>
                                      <div class="gmail_quote">Em 8 de
                                        junho de 2015 10:42, Augusto
                                        Ribas <span dir="ltr"><<a
                                            moz-do-not-send="true"
                                            href="mailto:ribas.aca@gmail.com"
                                            target="_blank">ribas.aca@gmail.com</a>></span>
                                        escreveu:<br>
                                        <blockquote class="gmail_quote"
                                          style="margin:0 0 0
                                          .8ex;border-left:1px #ccc
                                          solid;padding-left:1ex">
                                          <div dir="ltr">
                                            <div>
                                              <div>Não entendi
                                                exatamente o problema,
                                                mas os arquivos estão em
                                                um determinado
                                                diretorio?<br>
                                              </div>
                                              Não daria para dar um
                                              list.files() para pegar a
                                              lista de arquivos dos
                                              diretorio, usar um grep()
                                              para selecionar os
                                              arquivos que quer ler e
                                              então em um loop ir ler os
                                              arquivos com read.table,
                                              ai você pode ir dando
                                              merge ou concatenando
                                              eles.<br>
                                              <br>
                                            </div>
                                            Da um exemplo de código como
                                            você está fazendo, talvez
                                            alguém tenha uma ideia
                                            melhor.<br>
                                          </div>
                                          <div class="gmail_extra"><br>
                                            <div class="gmail_quote">
                                              <div>
                                                <div>Em 8 de junho de
                                                  2015 08:45, joão
                                                  Rodrigo Castro <span
                                                    dir="ltr"><<a
                                                      moz-do-not-send="true"
href="mailto:joaorodrigo2005@gmail.com" target="_blank">joaorodrigo2005@gmail.com</a>></span>
                                                  escreveu:<br>
                                                </div>
                                              </div>
                                              <blockquote
                                                class="gmail_quote"
                                                style="margin:0 0 0
                                                .8ex;border-left:1px
                                                #ccc
                                                solid;padding-left:1ex">
                                                <div>
                                                  <div>
                                                    <div dir="ltr">
                                                      <div>Pessoal,<br>
                                                        <br>
                                                        <br>
                                                      </div>
                                                      <div>Tenho
                                                        utilizado o
                                                        read.table para
                                                        ler arquivos e
                                                        realizar tarefas
                                                        simples.
                                                        Contudo, agora
                                                        necessito rodar
                                                        6 programas para
                                                        38 localidades
                                                        distintas e
                                                        tenho feito isso
                                                        ponto a ponto,
                                                        para cada um dos
                                                        modelos... Já
                                                        rodei os
                                                        programas uma
                                                        vez dessa
                                                        maneira
                                                        trabalhosa e
                                                        agora pretendo
                                                        automatizar o
                                                        processo lendo
                                                        todos os 38
                                                        arquivos de uma
                                                        só vez e rodar
                                                        cada um dos
                                                        modelos para os
                                                        38 arquivos (um
                                                        modelo por vez).<br>
                                                        <br>
                                                      </div>
                                                      <div>Minha
                                                        pergunta é: há
                                                        alguma função
                                                        para leitura de
                                                        vários arquivos
                                                        juntos ?<br>
                                                      </div>
                                                      <div><br>
                                                      </div>
                                                      <div>
                                                        <div>Por favor,
                                                          se não ficar
                                                          claro posso
                                                          tentar
                                                          explicar
                                                          melhor! <br>
                                                        </div>
                                                        <div>abs<span><font
color="#888888"><br>
                                                          </font></span></div>
                                                        <span><font
                                                          color="#888888">
                                                          <div>-- <br>
                                                          <div>
                                                          <div dir="ltr">
                                                          <div>
                                                          <div dir="ltr"><font
color="#666666">João Rodrigo de Castro</font>
                                                          <div><font
                                                          color="#666666">Programa
                                                          de
                                                          Pós-Graduação
                                                          em
                                                          Meteorologia</font></div>
                                                          <div><font
                                                          color="#666666">Bolsista
                                                          Laboratório de
                                                          Agrometeorologia
                                                          - Embrapa
                                                          Clima
                                                          Temperado</font></div>
                                                          <div><font
                                                          color="#666666">Universidade
                                                          Federal de
                                                          Pelotas</font></div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </font></span></div>
                                                    </div>
                                                    <br>
                                                  </div>
                                                </div>
_______________________________________________<br>
                                                R-br mailing list<br>
                                                <a
                                                  moz-do-not-send="true"
href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
                                                <a
                                                  moz-do-not-send="true"
href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br"
                                                  target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
                                                Leia o guia de postagem
                                                (<a
                                                  moz-do-not-send="true"
href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>)
                                                e forneça código mínimo
                                                reproduzível.<span><font
                                                    color="#888888"><br>
                                                  </font></span></blockquote>
                                            </div>
                                            <span><font color="#888888"><br>
                                                <br clear="all">
                                                <br>
                                                -- <br>
                                                <div>
                                                  <div dir="ltr">
                                                    <div>Grato<br>
                                                      Augusto C. A.
                                                      Ribas</div>
                                                    <div> </div>
                                                    <div>Site Pessoal: <a
moz-do-not-send="true" href="http://recologia.com.br/" target="_blank">http://recologia.com.br/</a></div>
                                                    <div>Github: <a
                                                        moz-do-not-send="true"
href="https://github.com/Squiercg" target="_blank">https://github.com/Squiercg</a></div>
                                                    <div>Lattes: <a
                                                        moz-do-not-send="true"
href="http://lattes.cnpq.br/7355685961127056" target="_blank">http://lattes.cnpq.br/7355685961127056</a><br>
                                                    </div>
                                                  </div>
                                                </div>
                                              </font></span></div>
                                          <br>
_______________________________________________<br>
                                          R-br mailing list<br>
                                          <a moz-do-not-send="true"
                                            href="mailto:R-br@listas.c3sl.ufpr.br"
                                            target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
                                          <a moz-do-not-send="true"
                                            href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br"
                                            target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
                                          Leia o guia de postagem (<a
                                            moz-do-not-send="true"
                                            href="http://www.leg.ufpr.br/r-br-guia"
                                            target="_blank">http://www.leg.ufpr.br/r-br-guia</a>)
                                          e forneça código mínimo
                                          reproduzível.<br>
                                        </blockquote>
                                      </div>
                                      <br>
                                      <br clear="all">
                                      <br>
                                      -- <br>
                                      <div>
                                        <div dir="ltr">
                                          <div>
                                            <div dir="ltr"><font
                                                color="#666666">João
                                                Rodrigo de Castro</font>
                                              <div><font color="#666666">Programa
                                                  de Pós-Graduação em
                                                  Meteorologia</font></div>
                                              <div><font color="#666666">Bolsista
                                                  Laboratório de
                                                  Agrometeorologia -
                                                  Embrapa Clima
                                                  Temperado</font></div>
                                              <div><font color="#666666">Universidade
                                                  Federal de Pelotas</font></div>
                                            </div>
                                          </div>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                                <br>
_______________________________________________<br>
                                R-br mailing list<br>
                                <a moz-do-not-send="true"
                                  href="mailto:R-br@listas.c3sl.ufpr.br"
                                  target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
                                <a moz-do-not-send="true"
                                  href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br"
                                  target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
                                Leia o guia de postagem (<a
                                  moz-do-not-send="true"
                                  href="http://www.leg.ufpr.br/r-br-guia"
                                  target="_blank">http://www.leg.ufpr.br/r-br-guia</a>)
                                e forneça código mínimo reproduzível.<br>
                              </blockquote>
                            </div>
                            <br>
                            <br clear="all">
                            <br>
                            -- <br>
                            <div>
                              <div dir="ltr">
                                <div>Grato<br>
                                  Augusto C. A. Ribas</div>
                                <div> </div>
                                <div>Site Pessoal: <a
                                    moz-do-not-send="true"
                                    href="http://recologia.com.br/"
                                    target="_blank">http://recologia.com.br/</a></div>
                                <div>Github: <a moz-do-not-send="true"
                                    href="https://github.com/Squiercg"
                                    target="_blank">https://github.com/Squiercg</a></div>
                                <div>Lattes: <a moz-do-not-send="true"
href="http://lattes.cnpq.br/7355685961127056" target="_blank">http://lattes.cnpq.br/7355685961127056</a><br>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                      <br>
                      _______________________________________________<br>
                      R-br mailing list<br>
                      <a moz-do-not-send="true"
                        href="mailto:R-br@listas.c3sl.ufpr.br"
                        target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
                      <a moz-do-not-send="true"
                        href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br"
                        target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
                      Leia o guia de postagem (<a moz-do-not-send="true"
                        href="http://www.leg.ufpr.br/r-br-guia"
                        target="_blank">http://www.leg.ufpr.br/r-br-guia</a>)
                      e forneça código mínimo reproduzível.<br>
                    </blockquote>
                  </div>
                  <br>
                  <br clear="all">
                  <br>
                  -- <br>
                  <div>
                    <div dir="ltr">
                      <div>
                        <div dir="ltr"><font color="#666666">João
                            Rodrigo de Castro</font>
                          <div><font color="#666666">Programa de
                              Pós-Graduação em Meteorologia</font></div>
                          <div><font color="#666666">Bolsista
                              Laboratório de Agrometeorologia - Embrapa
                              Clima Temperado</font></div>
                          <div><font color="#666666">Universidade
                              Federal de Pelotas</font></div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <br>
            _______________________________________________<br>
            R-br mailing list<br>
            <a moz-do-not-send="true"
              href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
            <a moz-do-not-send="true"
              href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br"
              rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
            Leia o guia de postagem (<a moz-do-not-send="true"
              href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer"
              target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e
            forneça código mínimo reproduzível.<br>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
R-br mailing list
<a class="moz-txt-link-abbreviated" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a>
<a class="moz-txt-link-freetext" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a>
Leia o guia de postagem (<a class="moz-txt-link-freetext" href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Best regards,

Vinícius Lionel Mateus, MSc (<a class="moz-txt-link-freetext" href="http://lattes.cnpq.br/6501001637020665">http://lattes.cnpq.br/6501001637020665</a>)
Chemistry PhD Student
Atmospheric Chemistry Laboratory - Dep. Chemistry
PUC-Rio - Pontifical Catholic University of Rio de Janeiro
Marquês de São Vicente, 225, Gávea - Rio de Janeiro, RJ - Brazil CEP: 22451-900
Phone:        (+45) 26 28 28 51
              (+55) (21) 3527-1327
              (+55) (21) 993 - 588 - 051
Skype: vinicius.lionel
<a class="moz-txt-link-freetext" href="http://www.qui.puc-rio.br/index.html">http://www.qui.puc-rio.br/index.html</a></pre>
  </body>
</html>