[R-es] Añadir encabezados a un archivo TXT

Marcelino de la Cruz marcelino.delacruz en upm.es
Jue Dic 17 18:20:11 CET 2015


Hola Gerard,


En Windows puedes hacer lo siguiente:

Suponiendo que "fichero.txt" es el archivo de texto con tus variables, 
que se encuentra en el directorio de trabajo [compruébalo con dir()] y 
que  "nombres" es un vector que tienes en R con los nombres que quieres 
poner a las variables de tu fichero,

# guarda los nombres en un fichero llamado "nombres.txt"

write(paste(nombres, collapse=" "), file="nombres.txt")

# invoca desde R el comando "type" de la shell de Windows para pegar 
ambos ficheros.

shell("type nombres.txt fichero.txt >> fichero_con_nombres.txt")


En otro sistema operativo supongo que system() podría hacer más o menos 
lo mismo

Saludos,

MArcelino






El 17/12/2015 a las 15:41, Reverté Calvet, Gerard escribió:
> Hola Olivier, empiezo por la segunda pregunta: el sistema operativo es
> Windows.
>
> Respecto a la primera pregunta el motivo es doble: en primero lugar
> quiero tener los encabezados en los ficheros para evitarme escribirlos
> cuando los quiera cargar en cualquier base de datos o en otro paquete
> estadístico; en segundo lugar, no soy un usuario habitual de R, y de vez
> en cuando intento llevar a cabo “pequeños retos” para aprender cosas
> nuevas en R y también para no olvidar cosas que había aprendido de R.
>
> Gerard Reverté
>
> *De:*Olivier Nuñez [mailto:onunez en unex.es]
> *Enviado el:* jueves, 17 de diciembre de 2015 13:12
> *Para:* Reverté Calvet, Gerard
> *CC:* Javier Marcuzzi; Carlos Ortega; R-help-es en r-project.org
> *Asunto:* Re: [R-es] Añadir encabezados a un archivo TXT
>
> Gerard,
>
> dos preguntas:
>
> 1) Porqué quieres directamente especificar los encabezados en el
> fichero? Es porqué tus ficheros no tienen las columnas igualmente ordenadas?
>
> 2) Qué sistema operativo tienes?
>
> Un saludo. Olivier
>
> ------------------------------------------------------------------------
>
> *De: *"Reverté Calvet, Gerard" <greverte en ajmataro.cat
> <mailto:greverte en ajmataro.cat>>
> *Para: *"Olivier Nuñez" <onunez en unex.es <mailto:onunez en unex.es>>,
> "Javier Marcuzzi" <javier.ruben.marcuzzi en gmail.com
> <mailto:javier.ruben.marcuzzi en gmail.com>>
> *CC: *"Carlos Ortega" <cof en qualityexcellence.es
> <mailto:cof en qualityexcellence.es>>, R-help-es en r-project.org
> <mailto:R-help-es en r-project.org>
> *Enviados: *Jueves, 17 de Diciembre 2015 12:02:09
> *Asunto: *RE: [R-es] Añadir encabezados a un archivo TXT
>
> Gracias Olivier, tu propuesta funciona, pero el problema es que no tengo
> suficiente memoria. Me pasa lo mismo haciendo:
>
> cat(readLines(“archivo datos.txt”),file=”archivo con
> encabezado.txt”,sep=”\n”,append=TRUE), con esta opción funciona pero no
> tengo suficiente memoria para todos los datos.
>
> Muchas gracias a todos por vuestra ayuda.
>
> Gerard Reverté
>
> *De:*Olivier Nuñez [mailto:onunez en unex.es]
> *Enviado el:* miércoles, 16 de diciembre de 2015 16:09
> *Para:* Javier Marcuzzi
> *CC:* Reverté Calvet, Gerard; Carlos Ortega; R-help-es en r-project.org
> <mailto:R-help-es en r-project.org>
> *Asunto:* Re: [R-es] Añadir encabezados a un archivo TXT
>
> Gerard,
>
> supongamos que tu fichero de texto ("test.txt") tiene cuatro columnas
> separadas por espacios.
>
> Si decides llamar estas columnas por ("A","B","C","D"), lo siguiente
> debería funcionar:
>
> linea0="A B C D"
>
> fichero <- file("test.txt")
> linea1<- readLines(fichero)
> writeLines(c(linea0,linea1), con=fichero)
> close(fichero)
>
> ------------------------------------------------------------------------
>
> *De: *"Javier Marcuzzi" <javier.ruben.marcuzzi en gmail.com
> <mailto:javier.ruben.marcuzzi en gmail.com>>
> *Para: *"Reverté Calvet, Gerard" <greverte en ajmataro.cat
> <mailto:greverte en ajmataro.cat>>, "Carlos Ortega"
> <cof en qualityexcellence.es <mailto:cof en qualityexcellence.es>>
> *CC: *R-help-es en r-project.org <mailto:R-help-es en r-project.org>
> *Enviados: *Miércoles, 16 de Diciembre 2015 15:17:45
> *Asunto: *Re: [R-es] Añadir encabezados a un archivo TXT
>
> Estimados
>
> Una idea, si no comprendo mal puede leer los archivos txt desde R, pero
> estos no tienen encabezado, podría colocar esto en un data.frame y usar
> rbind o colnames para escribir los encabezados, luego guardar los
> data.frame con encabezados en un archivo txt. No recuerdo pero creo e
> Rstudio o Rcmdr tienen algo para escribir encabezados al importar los
> datos, o se puede ver el código que genera y copiando y pegando con unas
> pequeñas modificaciones se realiza en forma fácil.
>
> Javier Rubén Marcuzzi
>
>
> *De: *Reverté Calvet, Gerard <mailto:greverte en ajmataro.cat>
> *Enviado: *miércoles, 16 de diciembre de 2015 10:28
> *Para: *'Carlos Ortega' <mailto:cof en qualityexcellence.es>
> *CC: *R-help-es en r-project.org <mailto:R-help-es en r-project.org>
> *Asunto: *Re: [R-es] Añadir encabezados a un archivo TXT
>
> Gracia Carlos, ya intenté esta opción que propones pero no funciona. Por
> lo que leí en la ayuda “cat” sólo acepta objetos de R.
>
> Lo solucioné utilizando readLines() dentro de cat(), pero al tener poca
> RAM no lo pude completar.
>
> Gerard Reverté
>
> Gerard Reverté
>
> Servei d'Estudis i Planificació
>
> Ajuntament de Mataró
>
> Telf.: 937 582 100 ext. 2517
>
> Fax: 937 582 162
>
> mailto:greverte en ajmataro.cat
>
> *De:*Carlos Ortega [mailto:cof en qualityexcellence.es]
> *Enviado el:* miércoles, 16 de diciembre de 2015 13:52
> *Para:* Reverté Calvet, Gerard
> *CC:* R-help-es en r-project.org <mailto:R-help-es en r-project.org>
> *Asunto:* Re: [R-es] Añadir encabezados a un archivo TXT
>
> Hola,
>
> Puedes hacerlo al revés.
>
> Primero, haces un "cat()" con solo la cabecera dirigida a un fichero con
> un nombre nuevo y luego hacer un cat del fichero de datos, dirigido al
> fichero anterior. Y activada la opción de "append=TRUE"...
>
> Saludos,
>
> Carlos Ortega
>
> www.qualityexcellence.es <http://www.qualityexcellence.es>
>
> El 16 de diciembre de 2015, 12:32, Reverté Calvet, Gerard
> <greverte en ajmataro.cat <mailto:greverte en ajmataro.cat>> escribió:
>
> Hola
>
> Dispongo de varios archivos TXT con datos de 32 variables i de más de 5
> millones de registros. Estos archivos van sin encabezados, y quiero
> añadir a los archivos, en la primera linea, el nombre de las variables,
> y claro está quiero hacerlo des de R.
>
> Con “cat” consigo añadir una línea los archivos TXT, pero me la añade al
> final y yo quiero que se añada al principio ¿alguna idea?
>
> Gerard Reverté
>
> *_Avís legal/Aviso legal_*
>
> La present informació s'envia únicament a la persona a la que va
> dirigida i pot contenir informació privilegiada o de caràcter
> confidencial. Qualsevol modificació, retransmissió, difusió o altre ús
> d'aquesta informació per persones o entitats diferents a la persona a la
> que va dirigida està prohibida. Si vostè l'ha rebut per error, si us
> plau contacti amb el remitent i esborri el missatge de qualsevol
> ordinador. En el cas que aquest missatge vagi a ser contestat per la
> mateixa via, ha de saber-se que la seva resposta podria ser coneguda per
> tercers a l'entrar a la xarxa. Per això, si el missatge inclou
> contrasenyes, números de targetes de crèdit o qualsevol altra informació
> que vostè consideri confidencial, seria més segur contestar per una
> altra via i cancel·lar la seva transmissió. L'Ajuntament de Mataró i els
> seus organismes dependents no poden assumir la responsabilitat derivada
> del fet de què terceres persones puguin arribar a conèixer el contingut
> d'aquest missatge durant la seva transmissió.
>
> La presente información se envía únicamente a la persona a la que va
> dirigida y puede contener información privilegiada o de carácter
> confidencial. Cualquier modificación, retransmisión, difusión u otro uso
> de esta información por persones o entidades diferentes a la persona a
> la que va dirigida está prohibida. Si usted la ha recibido por error,
> por favor contacte con el remitente y borre el mensaje. En el caso de
> que este mensaje vaya a ser contestado por la misma vía, ha de saberse
> que su respuesta podría ser conocida por terceros al entrar en la red.
> Por este motivo, si el mensaje incluye contraseñas, números de tarjetas
> de crédito o cualquier otra información que considere confidencial,
> sería más seguro contestar por otra vía y cancelar su transmisión. El
> Ayuntamiento de Mataró y sus organismos dependientes no pueden asumir la
> responsabilidad derivada del hecho de que terceras personas puedan
> llegar a conocer el contenido de este mensaje durante su transmisión.
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org <mailto:R-help-es en r-project.org>
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
>
>
> --
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es <http://www.qualityexcellence.es>
>
> *_Avís legal/Aviso legal_*
>
> La present informació s'envia únicament a la persona a la que va
> dirigida i pot contenir informació privilegiada o de caràcter
> confidencial. Qualsevol modificació, retransmissió, difusió o altre ús
> d'aquesta informació per persones o entitats diferents a la persona a la
> que va dirigida està prohibida. Si vostè l'ha rebut per error, si us
> plau contacti amb el remitent i esborri el missatge de qualsevol
> ordinador. En el cas que aquest missatge vagi a ser contestat per la
> mateixa via, ha de saber-se que la seva resposta podria ser coneguda per
> tercers a l'entrar a la xarxa. Per això, si el missatge inclou
> contrasenyes, números de targetes de crèdit o qualsevol altra informació
> que vostè consideri confidencial, seria més segur contestar per una
> altra via i cancel·lar la seva transmissió. L'Ajuntament de Mataró i els
> seus organismes dependents no poden assumir la responsabilitat derivada
> del fet de què terceres persones puguin arribar a conèixer el contingut
> d'aquest missatge durant la seva transmissió.
>
> La presente información se envía únicamente a la persona a la que va
> dirigida y puede contener información privilegiada o de carácter
> confidencial. Cualquier modificación, retransmisión, difusión u otro uso
> de esta información por persones o entidades diferentes a la persona a
> la que va dirigida está prohibida. Si usted la ha recibido por error,
> por favor contacte con el remitente y borre el mensaje. En el caso de
> que este mensaje vaya a ser contestado por la misma vía, ha de saberse
> que su respuesta podría ser conocida por terceros al entrar en la red.
> Por este motivo, si el mensaje incluye contraseñas, números de tarjetas
> de crédito o cualquier otra información que considere confidencial,
> sería más seguro contestar por otra vía y cancelar su transmisión. El
> Ayuntamiento de Mataró y sus organismos dependientes no pueden asumir la
> responsabilidad derivada del hecho de que terceras personas puedan
> llegar a conocer el contenido de este mensaje durante su transmisión.
>
> *_Avís legal/Aviso legal_*
>
> La present informació s'envia únicament a la persona a la que va
> dirigida i pot contenir informació privilegiada o de caràcter
> confidencial. Qualsevol modificació, retransmissió, difusió o altre ús
> d'aquesta informació per persones o entitats diferents a la persona a la
> que va dirigida està prohibida. Si vostè l'ha rebut per error, si us
> plau contacti amb el remitent i esborri el missatge de qualsevol
> ordinador. En el cas que aquest missatge vagi a ser contestat per la
> mateixa via, ha de saber-se que la seva resposta podria ser coneguda per
> tercers a l'entrar a la xarxa. Per això, si el missatge inclou
> contrasenyes, números de targetes de crèdit o qualsevol altra informació
> que vostè consideri confidencial, seria més segur contestar per una
> altra via i cancel·lar la seva transmissió. L'Ajuntament de Mataró i els
> seus organismes dependents no poden assumir la responsabilitat derivada
> del fet de què terceres persones puguin arribar a conèixer el contingut
> d'aquest missatge durant la seva transmissió.
>
> La presente información se envía únicamente a la persona a la que va
> dirigida y puede contener información privilegiada o de carácter
> confidencial. Cualquier modificación, retransmisión, difusión u otro uso
> de esta información por persones o entidades diferentes a la persona a
> la que va dirigida está prohibida. Si usted la ha recibido por error,
> por favor contacte con el remitente y borre el mensaje. En el caso de
> que este mensaje vaya a ser contestado por la misma vía, ha de saberse
> que su respuesta podría ser conocida por terceros al entrar en la red.
> Por este motivo, si el mensaje incluye contraseñas, números de tarjetas
> de crédito o cualquier otra información que considere confidencial,
> sería más seguro contestar por otra vía y cancelar su transmisión. El
> Ayuntamiento de Mataró y sus organismos dependientes no pueden asumir la
> responsabilidad derivada del hecho de que terceras personas puedan
> llegar a conocer el contenido de este mensaje durante su transmisión.
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org <mailto:R-help-es en r-project.org>
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
> *_Avís legal/Aviso legal_*
>
> La present informació s'envia únicament a la persona a la que va
> dirigida i pot contenir informació privilegiada o de caràcter
> confidencial. Qualsevol modificació, retransmissió, difusió o altre ús
> d'aquesta informació per persones o entitats diferents a la persona a la
> que va dirigida està prohibida. Si vostè l'ha rebut per error, si us
> plau contacti amb el remitent i esborri el missatge de qualsevol
> ordinador. En el cas que aquest missatge vagi a ser contestat per la
> mateixa via, ha de saber-se que la seva resposta podria ser coneguda per
> tercers a l'entrar a la xarxa. Per això, si el missatge inclou
> contrasenyes, números de targetes de crèdit o qualsevol altra informació
> que vostè consideri confidencial, seria més segur contestar per una
> altra via i cancel·lar la seva transmissió. L'Ajuntament de Mataró i els
> seus organismes dependents no poden assumir la responsabilitat derivada
> del fet de què terceres persones puguin arribar a conèixer el contingut
> d'aquest missatge durant la seva transmissió.
>
> ------------------------------------------------------------------------
>
> La presente información se envía únicamente a la persona a la que va
> dirigida y puede contener información privilegiada o de carácter
> confidencial. Cualquier modificación, retransmisión, difusión u otro uso
> de esta información por persones o entidades diferentes a la persona a
> la que va dirigida está prohibida. Si usted la ha recibido por error,
> por favor contacte con el remitente y borre el mensaje. En el caso de
> que este mensaje vaya a ser contestado por la misma vía, ha de saberse
> que su respuesta podría ser conocida por terceros al entrar en la red.
> Por este motivo, si el mensaje incluye contraseñas, números de tarjetas
> de crédito o cualquier otra información que considere confidencial,
> sería más seguro contestar por otra vía y cancelar su transmisión. El
> Ayuntamiento de Mataró y sus organismos dependientes no pueden asumir la
> responsabilidad derivada del hecho de que terceras personas puedan
> llegar a conocer el contenido de este mensaje durante su transmisión.
>
> *__*
>
> *_Avís legal/Aviso legal_*
>
> La present informació s'envia únicament a la persona a la que va
> dirigida i pot contenir informació privilegiada o de caràcter
> confidencial. Qualsevol modificació, retransmissió, difusió o altre ús
> d'aquesta informació per persones o entitats diferents a la persona a la
> que va dirigida està prohibida. Si vostè l'ha rebut per error, si us
> plau contacti amb el remitent i esborri el missatge de qualsevol
> ordinador. En el cas que aquest missatge vagi a ser contestat per la
> mateixa via, ha de saber-se que la seva resposta podria ser coneguda per
> tercers a l'entrar a la xarxa. Per això, si el missatge inclou
> contrasenyes, números de targetes de crèdit o qualsevol altra informació
> que vostè consideri confidencial, seria més segur contestar per una
> altra via i cancel·lar la seva transmissió. L'Ajuntament de Mataró i els
> seus organismes dependents no poden assumir la responsabilitat derivada
> del fet de què terceres persones puguin arribar a conèixer el contingut
> d'aquest missatge durant la seva transmissió.
> ------------------------------------------------------------------------
> La presente información se envía únicamente a la persona a la que va
> dirigida y puede contener información privilegiada o de carácter
> confidencial. Cualquier modificación, retransmisión, difusión u otro uso
> de esta información por persones o entidades diferentes a la persona a
> la que va dirigida está prohibida. Si usted la ha recibido por error,
> por favor contacte con el remitente y borre el mensaje. En el caso de
> que este mensaje vaya a ser contestado por la misma vía, ha de saberse
> que su respuesta podría ser conocida por terceros al entrar en la red.
> Por este motivo, si el mensaje incluye contraseñas, números de tarjetas
> de crédito o cualquier otra información que considere confidencial,
> sería más seguro contestar por otra vía y cancelar su transmisión. El
> Ayuntamiento de Mataró y sus organismos dependientes no pueden asumir la
> responsabilidad derivada del hecho de que terceras personas puedan
> llegar a conocer el contenido de este mensaje durante su transmisión.
> <#>
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



Más información sobre la lista de distribución R-help-es