<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>hola sebastian, invente 3 archivos con la estructura que
      describes y probe el codigo, le hice un par de arreglos
      necesarios, ahi va ... funciona bien con los archivos que te
      adjunto:<br>
    </p>
    <p># usando la libreria data.table<br>
      library(data.table)<br>
      setwd("/tu/directorio/con/los/datos/")<br>
      filenames <- list.files(path = "/tu/directorio/con/los/datos/")<br>
        # creas un data.table que contendra TODOS los datos de tus
      archivos<br>
      datos <- data.table()<br>
        # ciclo para leer cada archivo<br>
      i<-1<br>
      for (i in 1:length(filenames))<br>
          {<br>
          # 1. leer los datos de un unico archivo<br>
          data <- data.table()<br>
          data <- fread(filenames[i], header=TRUE)<br>
          # 2. transformar la estructura del archivo de filas con hora y
      columnas con dias a ( columna con dia, columna con hora y columna
      con precio )<br>
            # primero usar stack() ... suponiendo que tu primera columna
      de datos es la hora del dia y tiene encabezado "horas"<br>
          data.stacked <- data[,cbind(hora,stack(data,
      select=-hora))]<br>
          data.stacked <- as.data.table(data.stacked)<br>
          setnames(data.stacked,c("ind","values"),c("dia","precio"))<br>
          # 3. agregar la columna con el nombre del mes<br>
          data.stacked[, mes:=as.character(substr(filenames[i],1,3))]<br>
          # 4. uniendo los datos<br>
          datos <- rbind(datos,data.stacked)<br>
          i <- i+1<br>
          }<br>
      <br>
    </p>
    <p>espero que te sirva,</p>
    <p>suerte !!!!!!!!!!!</p>
    <p>eric.<br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 08/08/2017 06:50 AM, Sebastian Kruk
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:59899759.4d921f0a.f1c87.2270@mx.google.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML con formato previo Car";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.HTMLconformatoprevioCar
        {mso-style-name:"HTML con formato previo Car";
        mso-style-priority:99;
        mso-style-link:"HTML con formato previo";
        font-family:"Courier New";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style>
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="ES-MX">Hola Eric. Me diste una
            muy buena orientación.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX">Para algunos años los
            archivos son de excel donde cada uno tiene 12 hojas, una
            hoja por mes.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX">Cada hoja tiene el
            siguiente formato:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX">Hora 1 2 3 4 … 31<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX">1 0 0 0 0 … 23<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX">2 0 0 0 24 … 0<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX">3 0 0 0 24,5 … 21<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX">4 0 0 0 26 … 12<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX">………………………<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX">24 0 0 0 0 … 0<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX">Por ejemplo en el día 1
            el precio en las horas 1, 2, 3, 4 y 24 es 0, en cambio el
            día 31 el precio a la hora 1 es 23, a las 2 es 0, a las 3 es
            21, a las 4 es 12 y a las 24 es 0.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX">Espero no haberlos
            confundido más.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX">Gracias,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="ES-MX">Sebastián.<o:p></o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Enviado desde mi teléfono con Windows 10</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div
          style="mso-element:para-border-div;border:none;border-top:solid
          #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
          <p class="MsoNormal" style="border:none;padding:0cm"><b>De: </b><a
              href="mailto:ericconchamunoz@gmail.com"
              moz-do-not-send="true">eric</a><br>
            <b>Enviado: </b>martes, 8 de agosto de 2017 6:52<br>
            <b>Para: </b><a href="mailto:residuo.solow@gmail.com"
              moz-do-not-send="true">Sebastian Kruk</a>; <a
              href="mailto:r-help-es@r-project.org"
              moz-do-not-send="true">Lista R</a><br>
            <b>Asunto: </b>Re: [R-es] unir varios archivos .csv en una
            serie historica</p>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p>Hola sebastian, sin el archivo de datos para probar y ver la
          estructura de los datos es un poco dificil, pero haciendo
          algunas suposiciones imagino que algo como esto te puede
          ayudar, seguro tendras que hacer ajustes:</p>
        <p># usando la libreria data.table<br>
          library(data.table)<br>
          filenames <- list.files(path = "/tu/path")<br>
            # creas un data.table que contendra TODOS los datos de tus
          archivos<br>
          datos <- data.table()<br>
            # ciclo para leer cada archivo<br>
          i<-1<br>
          for (i in 1:length(filenames))<br>
              {</p>
        <p>    # 0. crear un data.table para contener los datos de tu
          archivo de forma temporal dentro del ciclo</p>
        <p>        data <- data.table()</p>
        <p>    # 1. leer los datos de un unico archivo<br>
              data <- as.data.table(fread(filenames[i], header=TRUE))<br>
              </p>
        <p>    # 2. transformar la estructura del archivo de filas con
          hora y columnas con dias a ( columna con dia, columna con hora
          y columna con precio )<br>
                # primero usar stack() ... suponiendo que tu primera
          columna de datos es la hora del dia y tiene encabezado "horas"<br>
              data.stacked <- data[,cbind(horas,stack(data,
          select=-horas))]<br>
              data.stacked <- as.data.table(data.stacked)        <br>
              </p>
        <p>    # 3. agregar la columna con el nombre del mes<br>
              data.stacked[,
mes:=as.character(substr(filenames[i],posiciondelPRIMERcaracterdelnombredelmes,posiciondelULTIMOcaracterdelnombredelmes))]<br>
              </p>
        <p style="margin-bottom:12.0pt">    # 4. uniendo los datos<br>
              datos <- rbind(datos,data)<br>
              i <- i+1<br>
              }</p>
        <p>Ojala te sirva,</p>
        <p>Suerte !!!!!!!!!!!!</p>
        <p>Eric.</p>
        <p><o:p> </o:p></p>
        <p><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <p class="MsoNormal">On 08/07/2017 06:17 PM, Sebastian Kruk
            wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <pre>Estimados usuarios-R:</pre>
          <pre><o:p> </o:p></pre>
          <pre>Muy buenas noches.</pre>
          <pre><o:p> </o:p></pre>
          <pre>Tengo una serie de archivos csv que contienen los precios mayoristas de</pre>
          <pre>electricidad por hora.</pre>
          <pre><o:p> </o:p></pre>
          <pre>Cada archivo csv corresponde a un mes de un cierto año.</pre>
          <pre><o:p> </o:p></pre>
          <pre>Cada columna corresponde a un día del mes y cada fila a una hora del día (1</pre>
          <pre>a 24 horas).</pre>
          <pre><o:p> </o:p></pre>
          <pre>¿Hay alguna forma rápida de importar todos los datos y formar un vector</pre>
          <pre>columna en que cada observación corresponde al precio que se dio en cierta</pre>
          <pre>hora en cierto dia en cierto mes en cierto año?</pre>
          <pre><o:p> </o:p></pre>
          <pre>Desde ya muchas gracias,</pre>
          <pre><o:p> </o:p></pre>
          <pre>Sebastián.</pre>
          <pre><o:p> </o:p></pre>
          <pre>  [[alternative HTML version deleted]]</pre>
          <pre><o:p> </o:p></pre>
          <pre>_______________________________________________</pre>
          <pre>R-help-es mailing list</pre>
          <pre><a href="mailto:R-help-es@r-project.org" moz-do-not-send="true">R-help-es@r-project.org</a></pre>
          <pre><a href="https://stat.ethz.ch/mailman/listinfo/r-help-es" moz-do-not-send="true">https://stat.ethz.ch/mailman/listinfo/r-help-es</a></pre>
          <pre><o:p> </o:p></pre>
        </blockquote>
        <p class="MsoNormal"><br>
          <br>
          <o:p></o:p></p>
        <pre>-- </pre>
        <pre>Forest Engineer</pre>
        <pre>Master in Environmental and Natural Resource Economics</pre>
        <pre>Ph.D. student in Sciences of Natural Resources at La Frontera University</pre>
        <pre>Member in AguaDeTemu2030, citizen movement for Temuco with green city standards for living</pre>
        <pre><o:p> </o:p></pre>
        <pre>Nota: Las tildes se han omitido para asegurar compatibilidad con algunos lectores de correo.</pre>
        <p class="MsoNormal"><span
            style="font-size:10.0pt;font-family:"Courier
            New";color:black"><o:p> </o:p></span></p>
      </div>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Forest Engineer
Master in Environmental and Natural Resource Economics
Ph.D. student in Sciences of Natural Resources at La Frontera University
Member in AguaDeTemu2030, citizen movement for Temuco with green city standards for living

Nota: Las tildes se han omitido para asegurar compatibilidad con algunos lectores de correo.
</pre>
  </body>
</html>