[R-es] fusionar archivos

Carlos J. Gil Bellosta cgb en datanalytics.com
Jue Mayo 9 15:39:48 CEST 2013


Hola, ¿qué tal?

Bienvenida al mundo de R.


El 9 de mayo de 2013 15:32, Belén Cillero Jiménez
<belen.cillero en larioja.org> escribió:
>
> Recién llegada al mundo R necesito mucha, mucha ayuda y mis dudas os resultarán tontas pero no tengo mucho más donde apoyarme, de momento.
> Me gustaría saber
>
> - si se puede leer de un fichero de texto (en este caso csv separado por comas) un número concreto de columnas, no todas, y cómo hacerlo


Léelas todas. Filtra luego. Usa las función subset o los corchetes.


> - una vez leídos todos los csv, necesito fusionarlos en uno pero no de cualquier manera, ya que tengo una variable que me identifica al mismo individuo en cada uno de los ficheros. Creo que así no me explico bien, tengo dos tablas en acces, Esudb11d y H_mod relacionadas por las variables DB030 (de la primera) y HB030 (de la segunda) y creo una única tabla así:
> SELECT Esudb11d.DB010, Esudb11d.DB030, Esudb11d.DB040, Esudb11d.DB090, Esudb11d.DB100, H_mod.HY020AI, H_mod.HY020, H_mod.HY022, H_mod.HY023, H_mod.HS011, H_mod.HS021, H_mod.HS031, H_mod.HS040, H_mod.HS050, H_mod.HS060, H_mod.HS070, H_mod.HS080, H_mod.HS090, H_mod.HS100, H_mod.HS110, H_mod.HS120, H_mod.HS130, H_mod.HS140, H_mod.HS150, H_mod.HS160, H_mod.HS170, H_mod.HS180, H_mod.HS190, H_mod.HH010, H_mod.HH021, H_mod.HH030, H_mod.HH031, H_mod.HH040, H_mod.HH050, H_mod.HH081, H_mod.HH091, H_mod.HX040, H_mod.HX060, H_mod.HX140, H_mod.HX240, H_mod.RentaE, H_mod.RentaE_AI, *
> FROM Esudb11d INNER JOIN H_mod ON Esudb11d.DB030 = H_mod.HB030;
> ¿cómo puedo hacer esto en R?

Tienes que usar la función merge. Mira su ayuda. Tiene varios ejemplos.

Si el campo de cruce se llama igual en las dos tablas y no hay otras
columnas con nombres comunes, es muy sencillo:

tabla.final <- merge(tabla.1, tabla.2)

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com



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