Javier Valdes Cantallopts (DGA)
2017-Feb-15 14:59 UTC
[R-es] problemas con rBIND con distintos número de columnas
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. [Descripción: FIRMA2] De: Carlos Ortega [mailto:cof en qualityexcellence.es] Enviado el: martes, 14 de febrero de 2017 16:57 Para: Javier Valdes Cantallopts (DGA) CC: r-help-es en r-project.org 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<http://www.qualityexcellence.es> El 14 de febrero de 2017, 19:09, Javier Valdes Cantallopts (DGA) <javier.valdes en mop.gov.cl<mailto:javier.valdes en mop.gov.cl>> 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. [Descripción: FIRMA2] De: Carlos Ortega [mailto:cof en qualityexcellence.es<mailto:cof en qualityexcellence.es>] Enviado el: martes, 14 de febrero de 2017 14:21 Para: Javier Valdes Cantallopts (DGA) CC: r-help-es en r-project.org<mailto:r-help-es en r-project.org> 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<http://www.qualityexcellence.es> El 14 de febrero de 2017, 16:15, Javier Valdes Cantallopts (DGA) <javier.valdes en mop.gov.cl<mailto:javier.valdes en mop.gov.cl>> 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. [Descripción: FIRMA2] ________________________________ 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<http://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<http://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. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170215/ce7bcdc6/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 7089 bytes Desc: image001.png URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170215/ce7bcdc6/attachment-0001.png>
Carlos J. Gil Bellosta
2017-Feb-15 15:05 UTC
[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) < javier.valdes en mop.gov.cl> 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. > > > > [image: Descripción: FIRMA2] > > > > *De:* Carlos Ortega [mailto:cof en qualityexcellence.es] > *Enviado el:* martes, 14 de febrero de 2017 16:57 > > *Para:* Javier Valdes Cantallopts (DGA) > *CC:* r-help-es en r-project.org > *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) < > javier.valdes en mop.gov.cl> 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. > > > > [image: Descripción: FIRMA2] > > > > *De:* Carlos Ortega [mailto:cof en qualityexcellence.es] > *Enviado el:* martes, 14 de febrero de 2017 14:21 > *Para:* Javier Valdes Cantallopts (DGA) > *CC:* r-help-es en r-project.org > *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) < > javier.valdes en mop.gov.cl> 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. > > > > > > > > > > > > > > [image: Descripción: FIRMA2] > > > > > ------------------------------ > > > 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 > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170215/73d75b60/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 7089 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170215/73d75b60/attachment-0001.png>
javier.ruben.marcuzzi en gmail.com
2017-Feb-15 15:47 UTC
[R-es] problemas con rBIND con distintos número de columnas
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: r-help-es en r-project.org 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) <javier.valdes en mop.gov.cl> 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:cof en qualityexcellence.es] Enviado el: martes, 14 de febrero de 2017 16:57 Para: Javier Valdes Cantallopts (DGA) CC: r-help-es en r-project.org 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) <javier.valdes en mop.gov.cl> 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:cof en qualityexcellence.es] Enviado el: martes, 14 de febrero de 2017 14:21 Para: Javier Valdes Cantallopts (DGA) CC: r-help-es en r-project.org 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) <javier.valdes en mop.gov.cl> 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 R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170215/0760fa60/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 2AC4A4A28B6C4C62A3D3D31F2595362D.png Type: image/png Size: 158 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170215/0760fa60/attachment-0003.png> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: FF28E9993ADE4C7DBFC60545816504FD.png Type: image/png Size: 148 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170215/0760fa60/attachment-0004.png> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 7089 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170215/0760fa60/attachment-0005.png>
Víctor Granda García
2017-Feb-15 20:55 UTC
[R-es] problemas con rBIND con distintos número de columnas
Como ha comentado Xavier Tibau antes, todo el problema se soluciona usando bind_rows del paquete dplyr: library(dplyr) foo <- bind_rows(tabla1, tabla2, tabla3, tabla4) sin complicarse mucho la vida (salvo instalar dplyr). Según la ayuda de bind_rows: "columns are matched by name, and any values that don't match will be filled with NA." es decir, valores de una columna que no exista en un data frame serán NA en el resultado final. Si aún así te sigue doblando el número de columnas, yo revisaria el nombre de las columnas, porque si no es el mismo mal vamos. Todas las columnas de todos los data frames tienen que tener el mismo nombre (las 11 columnas coincidentes en tus cuatro tablas). Espero que te sirva El mié., 15 feb. 2017 a las 16:05, Carlos J. Gil Bellosta (< cgb en datanalytics.com>) escribió:> 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) < > javier.valdes en mop.gov.cl> 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. > > > > [image: Descripción: FIRMA2] > > > > *De:* Carlos Ortega [mailto:cof en qualityexcellence.es] > *Enviado el:* martes, 14 de febrero de 2017 16:57 > > *Para:* Javier Valdes Cantallopts (DGA) > *CC:* r-help-es en r-project.org > *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) < > javier.valdes en mop.gov.cl> 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. > > > > [image: Descripción: FIRMA2] > > > > *De:* Carlos Ortega [mailto:cof en qualityexcellence.es] > *Enviado el:* martes, 14 de febrero de 2017 14:21 > *Para:* Javier Valdes Cantallopts (DGA) > *CC:* r-help-es en r-project.org > *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) < > javier.valdes en mop.gov.cl> 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. > > > > > > > > > > > > > > [image: Descripción: FIRMA2] > > > > > ------------------------------ > > > 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 > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es-- *Víctor Granda García* Tècnic v.granda en creaf.uab.cat Tel. +34 93 581 33 45 Campus UAB. Edifici C. 08193 Bellaterra (Barcelona) | *www.creaf.cat* <http://www.creaf.uab.es/cat/index.htm> Abans d'imprimir aquest missatge electrònic penseu en el medi ambient. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170215/6116fc4c/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 7089 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170215/6116fc4c/attachment-0001.png>