Estimados Yo pienso que lo que aporta Carlos J Gil Bellosta es una buena opción, hay una forma artesanal, supongamos que tenemos 5 tablas, de 5, 4 y 3 columnas, creo un data.frame de 5 columnas, al de 4 y 3 les agrego una o dos columnas, cbind, luego a todos rbind al data.frame creado para juntarlos.
Desconozco como son las datos, pero puede ser que sean lo mismo pero ordenados de distinta formas, por ejemplo hay 3 variables, una almacenada en cada columna, otra forma son 3 variables pero almacenadas en dos columnas, la primera hace referencia a la variable, y la segunda al valor de la variable, en esta segunda forma equivalente se reduce el número de columnas pero aumenta el número de filas, lo cuál de acuerdo al tipo de análisis puede ser beneficioso. Este segundo esquema no iría tan sencillo, aunque es posible con algo de trabajo. Javier Rubén Marcuzzi De: Carlos J. Gil Bellosta Enviado: miércoles, 15 de febrero de 2017 12:05 Para: Javier Valdes Cantallopts (DGA) CC: [email protected] Asunto: Re: [R-es]problemas con rBIND con distintos número de columnas Si tu info es toda numérica y cada tabla tiene una clave primaria, siempre puedes: 1) Hacer un melt por clave primaria de cada tabla para dejarla en formato largo. 2) Apilar las tablas obtenidas con el do.call + rbind de toda la vida. 3) Hacer un cast para dejarla cuadrada de nuevo. Así no tendrás problemas de ningún tipo. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El 15 de febrero de 2017, 15:59, Javier Valdes Cantallopts (DGA) <[email protected]> escribió: De esa forma me sigue entregando lo mismo, multiplica las variables por dos (80 obs 26 variables) debería ser (80 obs 13 variables).En concreto pega la información pero la costado, no hacia abajo. Solucionara el tema si le agrego dos columnas ficticias para que queden todas las bases con 13 variables? Saludos. De: Carlos Ortega [mailto:[email protected]] Enviado el: martes, 14 de febrero de 2017 16:57 Para: Javier Valdes Cantallopts (DGA) CC: [email protected] Asunto: Re: problemas con rBIND con distintos número de columnas Hola, Recordaba que sí que se podía hacer con data.table.... Efectivamente... > library(data.table) > x_dt <- data.table( a= rnorm(10), b = rnorm(10)) > y_dt <- data.table( a= rnorm(10), b = rnorm(10), c = rnorm(10)) > > l <- list(x_dt, y_dt) > rbindlist(l, fill = TRUE) a b c 1: 0.40654327 1.57344885 NA 2: 0.08165417 0.15028804 NA 3: 0.37026494 -1.18386924 NA 4: -0.93010544 2.24961712 NA 5: 0.10843810 0.24032676 NA 6: 0.15378877 -0.78666170 NA 7: 1.03502437 -0.55456852 NA 8: 0.72717696 -0.08930502 NA 9: 2.33360032 0.85764087 NA 10: -0.13165594 1.90335605 NA 11: -0.58854517 -0.65231258 -2.08017763 12: -0.44410190 -0.60729636 0.75419119 13: -0.12112606 -2.95377291 -0.81158886 14: -0.16889601 -0.17042251 0.08904027 15: 0.09432534 -0.91301852 0.49149478 16: -1.19009027 -3.08695232 0.80642330 17: 0.50699299 0.32040260 -0.84056240 18: -0.89214614 0.33931926 -0.20491751 19: 0.55252772 2.09847775 0.28919268 20: -1.20012169 -1.17608943 -1.55813564 Saludos, Carlos Ortega www.qualityexcellence.es El 14 de febrero de 2017, 19:09, Javier Valdes Cantallopts (DGA) <[email protected]> escribió: Hola Carlos: Tanto rbind(base) como rbind(data.table) generan el mismo resultado que no busco. Que solución se le podría dar específicamente a la data de 11 columnas, que es la que me da problema. Saludos. De: Carlos Ortega [mailto:[email protected]] Enviado el: martes, 14 de febrero de 2017 14:21 Para: Javier Valdes Cantallopts (DGA) CC: [email protected] Asunto: Re: problemas con rBIND con distintos número de columnas Hola Javier, Mientras que el "rbind()" que proporciona el paquete "base" en este caso te dará un error. El "rbind" que proporciona el paquete "data.table", creo que no lo da... Siempre puedes rellenar esos huecos con NAs en el data.frame al que le falte antes de juntarlas... y evitarte el trastorno. Saludos, Carlos Ortega www.qualityexcellence.es El 14 de febrero de 2017, 16:15, Javier Valdes Cantallopts (DGA) <[email protected]> escribió: Hola a todos: Necesito pegar 4 bases de datos de N variables y N columnas, EL PROBLEMA ES QUE 3 CONSTAN DE 13 COLUMNAS, y LA CUARTA CON 11 COLUMNAS. He usado rbind y smartbind, sin embargo el resultado no es el esperado, ya que coloca las columnas a un costado y no hacia abajo como debería Como resultado necesito algo como LO QUE PRESENTO ABAJO, RELLENANDO LOS ESPACIOS VACIOS CON “NA” 30/03/15 7:00 38 13.28 275.4431 -1.667118 638.5 -1.459 3.08 175.5 -130 -64.52 Na Na 30/03/15 8:00 39 13.27 273.3796 -0.9093614 638.5 -1.386 4.099 151.6 -129.9 -64.42 Na Na 30/03/15 9:00 40 13.21 275.5319 19.8293 638.6 -1.39 3.573 138.7 -129.8 -64.34 Na Na 30/03/15 10:00 41 13.25 278.6717 69.58882 638.8 -1.227 4.193 174.4 -129.8 -64.3 Na Na 30/03/15 11:00 42 13.59 276.256 153.4836 638.9 -0.888 4.291 39.6 -129.8 -64.35 Na Na 30/03/15 12:00 43 14.71 276.9799 233.9256 639 -0.587 3.561 133.1 -129.9 -64.44 Na Na 30/03/15 13:00 44 14.56 265.1613 449.0849 639.3 -0.011 3.624 180.1 -130 -64.53 Na Na 30/03/15 14:00 45 14.51 268.376 418.3066 639.6 0.2 3.885 138.3 -130.3 -64.82 Na Na 28/03/15 16:40 0 12.96 0 168.4 -28.4 13.01 697.9466 5.268066 278.4181 -111.8081 228.8923 620.3669 28/03/15 16:50 1 12.99 3.473 248.3 -33.81 8.52 644.0493 5.009216 278.1592 -110.2677 229.1674 590.3563 28/03/15 17:00 2 12.99 3.917 174.7 -38.64 4.529 644.2397 4.819122 277.9691 -111.376 227.1322 556.6758 SALUDOS. CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los archivos adjuntos es de carácter confidencial o privilegiada y está destinada al uso exclusivo del emisor y/o de la persona o entidad a quien va dirigida. Si usted no es el destinatario, cualquier almacenamiento, divulgación, distribución o copia de esta información está estrictamente prohibido y sancionado por la ley. Si recibió este mensaje por error, por favor infórmenos inmediatamente respondiendo este mismo mensaje y borre todos los archivos adjuntos. Gracias. CONFIDENTIAL NOTE: The information transmitted in this message and/or attachments is confidential and/or privileged and is intented only for use of the person or entity to whom it is addressed. If you are not the intended recipient, any retention, dissemination, distribution or copy of this information is strictly prohibited and sanctioned by law. If you received this message in error, please reply us this same message and delete this message and all attachments. Thank you. -- Saludos, Carlos Ortega www.qualityexcellence.es CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los archivos adjuntos es de carácter confidencial o privilegiada y está destinada al uso exclusivo del emisor y/o de la persona o entidad a quien va dirigida. Si usted no es el destinatario, cualquier almacenamiento, divulgación, distribución o copia de esta información está estrictamente prohibido y sancionado por la ley. Si recibió este mensaje por error, por favor infórmenos inmediatamente respondiendo este mismo mensaje y borre todos los archivos adjuntos. Gracias. CONFIDENTIAL NOTE: The information transmitted in this message and/or attachments is confidential and/or privileged and is intented only for use of the person or entity to whom it is addressed. If you are not the intended recipient, any retention, dissemination, distribution or copy of this information is strictly prohibited and sanctioned by law. If you received this message in error, please reply us this same message and delete this message and all attachments. Thank you. -- Saludos, Carlos Ortega www.qualityexcellence.es CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los archivos adjuntos es de carácter confidencial o privilegiada y está destinada al uso exclusivo del emisor y/o de la persona o entidad a quien va dirigida. Si usted no es el destinatario, cualquier almacenamiento, divulgación, distribución o copia de esta información está estrictamente prohibido y sancionado por la ley. Si recibió este mensaje por error, por favor infórmenos inmediatamente respondiendo este mismo mensaje y borre todos los archivos adjuntos. Gracias. CONFIDENTIAL NOTE: The information transmitted in this message and/or attachments is confidential and/or privileged and is intented only for use of the person or entity to whom it is addressed. If you are not the intended recipient, any retention, dissemination, distribution or copy of this information is strictly prohibited and sanctioned by law. If you received this message in error, please reply us this same message and delete this message and all attachments. Thank you. _______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
_______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
