Hola a todos. Tengo estas dos tablas de aqui (tabla1 y tabla2 la de abajo) aunque estan sin datos | FECHA ALQUILER | FECHA DEVOLUCION | PELICULA | DIRECTOR | CLIENTE | | | | | | | | | | | | | | | | | | | | | | | | | | FECHA | CLIENTE | DIRECCION | NUMERO SOCIO | CIUDAD | Quiero cruzar ambas tablas en función de las fechas para ver los datos coincidentes Puedo hacerlo fácilmente, por ejemplo con merge tras haberle cambiado el nombre a FECHA ALQUILER por FECHA, y con la instruccion:merge (tabla1, tabla2, by="FECHA", all=T) Tengo algunas dudas: 1. ¿Podría hacer este cruce sin cambiarle el nombre a las variables? 2. ¿Podría hacer este cruce contra dos variables a la vez (la FECHA de la tabla2 contra FECHA ALQUILER Y FECHA DEVOLUCION de una tacada)? 3. ¿Hay alguna alternativa mejor que "merge" para hacer este cruce? gracias y saludos Jose Luis Cebrian ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20160710/9825d7aa/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: cruce tablas.xlsx Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Size: 9307 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20160710/9825d7aa/attachment-0001.bin>
Hola,
Siguiendo el mismo orden que tus preguntas.
   1. Sí, puedes hacer el cruce sin cambiar el nombre de las variables.
   Tienes que tener en cuenta que cuando cargas el data.frame en R, las
   variables que en el nombre tengas varias palabras separadas por espacio R
   cambiará el espacio por un punto (.).
   2. Si miras la ayuda de "merge()" verás que no hay restricción a la
hora
   de definir una o varias variables para hacer el join. En el caso que
   planteas sería merge(tabla2, tabla1, by.x="FECHA",
by.y=c("FECHA.ALQUILER",
   "FECHA.DEVOLUCION"), all =T)
   3. En esta pregunta tendrías que definir qué es para ti "mejor". Si
las
   tablas no son grandes, con "merge()" tienes más que suficiente. Hay
otras
   alternativas desde las opciones que proporciona "dplyr",
"sqldf" o el mismo
   "data.table".
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 10 de julio de 2016, 11:50, jose luis via R-help-es <
r-help-es en r-project.org> escribió:
> Hola a todos.
> Tengo estas dos tablas de aqui (tabla1 y tabla2 la de abajo) aunque estan
> sin datos
>
>
>
> FECHA ALQUILER FECHA  DEVOLUCION PELICULA DIRECTOR CLIENTE
> FECHA CLIENTE DIRECCION NUMERO SOCIO CIUDAD
>
>
> Quiero cruzar ambas tablas en función de las fechas para ver los datos
> coincidentes
>
> Puedo hacerlo fácilmente, por ejemplo con merge tras haberle cambiado el
> nombre a FECHA ALQUILER por FECHA, y con la instruccion:
> merge (tabla1, tabla2, by="FECHA", all=T)
>
> Tengo algunas dudas:
>
> 1. ¿Podría hacer este cruce sin cambiarle el nombre a las variables?
>
> 2. ¿Podría hacer este cruce contra dos variables a la vez (la FECHA  de la
> tabla2 contra FECHA ALQUILER Y FECHA DEVOLUCION de una tacada)?
>
> 3. ¿Hay alguna alternativa mejor que "merge" para hacer este
cruce?
>
> gracias y saludos
>
>
>
> Jose Luis Cebrian
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es
	[[alternative HTML version deleted]]
Hola a todosal hilo de esta duda que planteé hace unos días, me surge
otra.¿Podría hacer este cruce en dos pasos sucesivos pero dentro de una misma
orden? Es decir, que crucen primero la Fecha con la Fecha de alquiler, y luego,
unicamente los que no cruzaron la primera vez, lo hagan ahora con Fecha
Devolucion. 
merge(tabla2, tabla1, by.x="FECHA", by.y=c("FECHA.ALQUILER",
"FECHA.DEVOLUCION"), all =T)
Saludos !!!
 
    El Domingo 10 de julio de 2016 14:59, Carlos Ortega <cof en
qualityexcellence.es> escribió:
 
 Hola,
Siguiendo el mismo orden que tus preguntas.
   
   - Sí, puedes hacer el cruce sin cambiar el nombre de las variables. Tienes
que tener en cuenta que cuando cargas el data.frame en R, las variables que en
el nombre tengas varias palabras separadas por espacio R cambiará el espacio por
un punto (.).
   - Si miras la ayuda de "merge()" verás que no hay restricción a la
hora de definir una o varias variables para hacer el join. En el caso que
planteas sería merge(tabla2, tabla1, by.x="FECHA",
by.y=c("FECHA.ALQUILER", "FECHA.DEVOLUCION"), all =T)
   - En esta pregunta tendrías que definir qué es para ti "mejor". Si
las tablas no son grandes, con "merge()" tienes más que suficiente.
Hay otras alternativas desde las opciones que proporciona "dplyr",
"sqldf" o el mismo "data.table".
Saludos,Carlos Ortegawww.qualityexcellence.es
El 10 de julio de 2016, 11:50, jose luis via R-help-es <r-help-es en
r-project.org> escribió:
Hola a todos. Tengo estas dos tablas de aqui (tabla1 y tabla2 la de abajo)
aunque estan sin datos
| FECHA ALQUILER | FECHA  DEVOLUCION | PELICULA | DIRECTOR | CLIENTE |
|  |  |  |  |  |
|  |  |  |  |  |
|  |  |  |  |  |
|  |  |  |  |  |
| FECHA | CLIENTE | DIRECCION | NUMERO SOCIO | CIUDAD |
Quiero cruzar ambas tablas en función de las fechas para ver los datos
coincidentes
Puedo hacerlo fácilmente, por ejemplo con merge tras haberle cambiado el nombre
a FECHA ALQUILER por FECHA, y con la instruccion:merge (tabla1, tabla2,
by="FECHA", all=T)
Tengo algunas dudas:
1. ¿Podría hacer este cruce sin cambiarle el nombre a las variables?
2. ¿Podría hacer este cruce contra dos variables a la vez (la FECHA  de la
tabla2 contra FECHA ALQUILER Y FECHA DEVOLUCION de una tacada)?
3. ¿Hay alguna alternativa mejor que "merge" para hacer este cruce?
gracias y saludos
Jose Luis Cebrian
_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es
  
	[[alternative HTML version deleted]]