Gracias a todos por sus respuestas. Han enriquecido mi punto de vista. Cuando deba, entonces garantizaré la representatividad de los individuos ocupando los índices o hashes en la base de datos (el problema se traslada ahora a hallar esa representatividad).
Personalmente pienso que R (puro) no es la herramienta ideal para el manejo directo del 'big data' aunque algunos cuenten con los ordenadores con capacidades que les permitan hacerlo directamente. De todas formas, ya las ofertas de R integrado en base de datos están a la orden del día (esta es la última que supe: http://www.oracle.com/technetwork/database/database-technologies/r/r-distribution/overview/index.html ). Saludos a todos. 2015-05-05 13:11 GMT-03:00 Patricio Fuenmayor Viteri < [email protected]>: > > Bueno ... voy a compartirles mi experiencia en esto. > Freddy, yo tuve la misma experiencia que su amigo, es mas, aun la sigo > teniendo... y en resumen y sin alargar el cuento ... me quedo con R. > Porque mi decisión... por varios temas: > 1. Rapidez. Uno debe saber que es lo que se quiere hacer y que necesita > para eso. El uso adecuado de indices, hash, etc. que permitan y faciliten > al sistema trabajar eficientemente. R en mas rápido que SAS en temas de > cruces de datos (yo uso data.table e indexaciones por hash). > 2. Generalizado, centralizado y normalizado. El uso del concepto de > funciones con parámetros, y un solo esquema de lenguaje y la programación > orientada a objetos, hace que se faciliten los temas. Programar los > procesos usando un flujo y reutilizando las funciones, permiten que a mas > de que el proceso sea escalable, su mantenimiento y la incorporación de > nuevas funcionalidades, se implemente fácilmente. > 3. SAS facilita la conexión con diferentes bases de datos (siempre y > cuando se tenga licenciado el módulo). Es recomendable usar librerías en R > que estén programadas utilizando conectores nativos, tales como RMySQL, > RPostgres, y la nueva que estoy usando rsqlserver (en desarrollo en > github), las cuales son muy rápidas en tiempos de respuesta. > 4. Programación modular e incorporación de conceptos y tecnologías. Esto, > en mi caso, lo desarrollé por experiencia. Poder generalizar un proceso de > información, manejar un modelos de datos, para optimizar el almacenaje de > los datos y de los resultados, hacen que los tiempo de respuesta hacia el > usuario sean cada vez mejores. > 5. Toda la gama de funciones desarrolladas por la comunidad, y los > estudios y análisis compartidos en blogs, libros, etc. permiten que la > curva de aprendizaje y de desarrollo sea mas corta, ademas uno puede > evidenciar y aprender de gente mas experimentada en temas de manejo de > información y de aplicaciones estadísticas. > Bueno... esto es parte de mi experiencia... y no quiero cansarles mas ... > un abrazo ... !!! > > > > > --Archivo adjunto de mensaje reenviado-- > From: [email protected] > To: [email protected] > Date: Tue, 5 May 2015 11:12:49 +0000 > > Subject: Re: [R-es] Muestreo de bases de datos > > Hola > > Desviándome un poco de la cuestión que plantea Freddy, no estoy muy de > acuerdo con lo que comenta acerca de que "... R no está diseñado > (operaciones en la base de datos)..". > > Precisamente la mayor parte de mi trabajo en R se realiza vinculadolo a un > servidor Microsoft SQL Server y lo cierto es que, hasta ahora, "se entienden" > muy bien entre ellos. > Cierto es que, en mi caso, la mayor parte del flujo de datos (con millones de > registros como norma general) va de R hacia el SQL, puesto que utilizo R para > descargar los datos, organizarlos y depurarlos antes de subirlos al SQL > server. > Al principio me inquietaba mucho el tiempo (horas en algún caso) en el que > la consola de R se mostraba "pensando" hasta que se subían todos los datos al > SQL Server, así que diseñe una función que usando el paquete snowfall > mostraba una barra de progreso mientras se hacia la subida de datos. > > Para el flujo de datos en sentido inverso, (de SQL Server a R) siempre me > aseguro de que la consulta SQL que "baja" los datos del SQL Server a un > dataframe o similar solo recupera los datos verdaderamente necesarios. > Lógicamente y dependiendo de lo que vayas a hacer luego con esos datos a > veces esto no es posible, pero en general eso de "bajarse todo" e intentar > ejecutar un proceso me parece un hábito bastante pernicioso e improductivo. > > > > > > > > -----Mensaje original----- > > De: R-help-es [mailto:[email protected]] En nombre de r- > > [email protected] > > Enviado el: martes, 05 de mayo de 2015 12:00 > > Para: [email protected] > > Asunto: Resumen de R-help-es, Vol 75, Envío 4 > > > > Envíe los mensajes para la lista R-help-es a > > [email protected] > > > > Para subscribirse o anular su subscripción a través de la WEB > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > O por correo electrónico, enviando un mensaje con el texto "help" en el > > asunto (subject) o en el cuerpo a: > > [email protected] > > > > Puede contactar con el responsable de la lista escribiendo a: > > [email protected] > > > > Si responde a algún contenido de este mensaje, por favor, edite la linea del > > asunto (subject) para que el texto sea mas especifico que: > > "Re: Contents of R-help-es digest...". Además, por favor, incluya en la > > respuesta sólo aquellas partes del mensaje a las que está respondiendo. > > > > > > Asuntos del día: > > > > 1. Muestreo de bases de datos.- (Freddy Omar López Quintero) > > 2. Re: Muestreo de bases de datos.- (Carlos J. Gil Bellosta ) > > 3. Re: Muestreo de bases de datos.- ([email protected]) > > > > > > ---------------------------------------------------------------------- > > > > Message: 1 > > Date: Mon, 4 May 2015 15:15:33 -0300 > > From: Freddy Omar López Quintero <[email protected]> > > To: "[email protected]" <[email protected]> > > Subject: [R-es] Muestreo de bases de datos.- > > Message-ID: > > <CALCOUqu7nKupKdc47Q2ixvsfGVqAdOhgdLmNMfc8JvTS7hqX+Q@ > > mail.gmail.com> > > Content-Type: text/plain; charset="UTF-8" > > > > ¡Hola! > > > > Mi duda surge por la siguiente anécdota: un amigo (empleado de una > > enorme consultora que tiene SAS) migró a R y ansioso me contó que iba a > > ejecutar las rutinas que había traducido de SAS a R y luego de intentar > > ejecutarlas nada le funcionó porque, ingenuamente, quería hacer cosas para > > las cuales R no está diseñado (operaciones en la base de datos) y porque > > leyó > > TODOS los datos de una consulta (millones de registros) e intentó correr > > algún procedimiento (!). Me dijo que SAS corre todo lo que él necesita y > > pues > > quedó tristemente decepcionado. > > > > Yo le dije que es corriente tomar una muestra de los datos para calibrar los > > modelos que se van a necesitar y que no es necesario utilizar los millones > > de > > registros enteros. Esto me hizo pensar ¿existen normas o buenas prácticas > > para el muestreo de las bases de datos?¿existen normativas?¿lineamientos? > > Es claro que mi primera respuesta sería ocupar los métodos ya desarrollados > > para encuestas, pero quién sabe. > > > > Si existen: ¿tienen su contraparte en R? > > > > Gracias y disculpen las molestias. > > > > ¡Salud! > > > > -- > > «No soy aquellas sombras tutelares > > que honré con versos que no olvida el tiempo.» > > > > JL Borges > > > > [[alternative HTML version deleted]] > > > > > > > > ------------------------------ > > > > Message: 2 > > Date: Mon, 4 May 2015 20:35:28 +0200 > > From: "Carlos J. Gil Bellosta " <[email protected]> > > To: Freddy Omar López Quintero <[email protected]> > > Cc: "[email protected]" <[email protected]> > > Subject: Re: [R-es] Muestreo de bases de datos.- > > Message-ID: > > <CADg83efiwWEdwA6dyR4RUkwB5Qc5evOAmdLfBeg+yO0GngL0Aw > > @mail.gmail.com> > > Content-Type: text/plain; charset=UTF-8 > > > > Hola, ¿qué tal? > > > > La mejor manera de muestrear una tabla en una base de datos es a través > > del módulo de algún valor (típicamente autonumérico), como los ids. Si no, a > > través del módulo de un hash de algún identificador similar. Este > > procedimiento tiene la ventaja de ser repetible: > > consultas sucesivas pueden muestrear la misma subpoblación u otra de > > tamaño similar completamente distinta de la anterior. El filtro se hace en > > el > > where de la consulta a la base de datos (y la sintaxis cambia de una a > > otra). > > > > Si los datos son grandes y están en una base de datos, es mejor manipularlos > > dentro de ella previamente enviando consultas SQL desde R y solo descargar > > los datos (debidamente filtrados y muestreados, es decir, pequeños y/o > > manejables) al final. > > > > Un saludo, > > > > Carlos J. Gil Bellosta > > http://www.datanalytics.com > > > > > > > > El día 4 de mayo de 2015, 20:15, Freddy Omar López Quintero > > <[email protected]> escribió: > > > ¡Hola! > > > > > > Mi duda surge por la siguiente anécdota: un amigo (empleado de una > > > enorme consultora que tiene SAS) migró a R y ansioso me contó que iba > > > a ejecutar las rutinas que había traducido de SAS a R y luego de > > > intentar ejecutarlas nada le funcionó porque, ingenuamente, quería > > > hacer cosas para las cuales R no está diseñado (operaciones en la base > > > de datos) y porque leyó TODOS los datos de una consulta (millones de > > > registros) e intentó correr algún procedimiento (!). Me dijo que SAS > > > corre todo lo que él necesita y pues quedó tristemente decepcionado. > > > > > > Yo le dije que es corriente tomar una muestra de los datos para > > > calibrar los modelos que se van a necesitar y que no es necesario > > > utilizar los millones de registros enteros. Esto me hizo pensar > > > ¿existen normas o buenas prácticas para el muestreo de las bases de > > > datos?¿existen normativas?¿lineamientos? Es claro que mi primera > > > respuesta sería ocupar los métodos ya desarrollados para encuestas, pero > > quién sabe. > > > > > > Si existen: ¿tienen su contraparte en R? > > > > > > Gracias y disculpen las molestias. > > > > > > ¡Salud! > > > > > > -- > > > «No soy aquellas sombras tutelares > > > que honré con versos que no olvida el tiempo.» > > > > > > JL Borges > > > > > > [[alternative HTML version deleted]] > > > > > > _______________________________________________ > > > R-help-es mailing list > > > [email protected] > > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > > > ------------------------------ > > > > Message: 3 > > Date: Mon, 4 May 2015 19:32:14 +0000 > > From: <[email protected]> > > To: "=?utf-8?Q?Carlos_J._Gil_Bellosta?=" <[email protected]>, > > Freddy López <[email protected]> > > Cc: "[email protected]?=" <[email protected]> > > Subject: Re: [R-es] Muestreo de bases de datos.- > > Message-ID: <[email protected]> > > Content-Type: text/plain; charset="UTF-8" > > > > Estimado Freddy López > > > > > > Yo estoy de acuerdo con Carlos Gil Bellosta, no se si es apropiado para > > millones del registros como los que usted comenta, pero R tiene sqldf, que > > básicamente usa sqlite, esto posibilita usar una base de datos dentro de R > > sin > > tener que preocuparnos demasiado, otra forma es utilizar data.table en lugar > > de data.frame, dplyr, posiblemente su amigo no migro correctamente de SAS > > a R (aunque tome con cuidado esto último, yo nunca use SAS). > > > > > > Javier Rubén Marcuzzi > > > > > > > > > > > > De: Carlos J. Gil Bellosta > > Enviado el: ?lunes?, ?04? de ?mayo? de ?2015 ?03?:?35? ?p.m. > > Para: Freddy López > > CC: [email protected] > > > > > > > > > > > > Hola, ¿qué tal? > > > > La mejor manera de muestrear una tabla en una base de datos es a través > > del módulo de algún valor (típicamente autonumérico), como los ids. Si no, a > > través del módulo de un hash de algún identificador similar. Este > > procedimiento tiene la ventaja de ser repetible: > > consultas sucesivas pueden muestrear la misma subpoblación u otra de > > tamaño similar completamente distinta de la anterior. El filtro se hace en > > el > > where de la consulta a la base de datos (y la sintaxis cambia de una a > > otra). > > > > Si los datos son grandes y están en una base de datos, es mejor manipularlos > > dentro de ella previamente enviando consultas SQL desde R y solo descargar > > los datos (debidamente filtrados y muestreados, es decir, pequeños y/o > > manejables) al final. > > > > Un saludo, > > > > Carlos J. Gil Bellosta > > http://www.datanalytics.com > > > > > > > > El día 4 de mayo de 2015, 20:15, Freddy Omar López Quintero > > <[email protected]> escribió: > > > ¡Hola! > > > > > > Mi duda surge por la siguiente anécdota: un amigo (empleado de una > > > enorme consultora que tiene SAS) migró a R y ansioso me contó que iba > > > a ejecutar las rutinas que había traducido de SAS a R y luego de > > > intentar ejecutarlas nada le funcionó porque, ingenuamente, quería > > > hacer cosas para las cuales R no está diseñado (operaciones en la base > > > de datos) y porque leyó TODOS los datos de una consulta (millones de > > > registros) e intentó correr algún procedimiento (!). Me dijo que SAS > > > corre todo lo que él necesita y pues quedó tristemente decepcionado. > > > > > > Yo le dije que es corriente tomar una muestra de los datos para > > > calibrar los modelos que se van a necesitar y que no es necesario > > > utilizar los millones de registros enteros. Esto me hizo pensar > > > ¿existen normas o buenas prácticas para el muestreo de las bases de > > > datos?¿existen normativas?¿lineamientos? Es claro que mi primera > > > respuesta sería ocupar los métodos ya desarrollados para encuestas, pero > > quién sabe. > > > > > > Si existen: ¿tienen su contraparte en R? > > > > > > Gracias y disculpen las molestias. > > > > > > ¡Salud! > > > > > > -- > > > «No soy aquellas sombras tutelares > > > que honré con versos que no olvida el tiempo.» > > > > > > JL Borges > > > > > > [[alternative HTML version deleted]] > > > > > > _______________________________________________ > > > 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 > > [[alternative HTML version deleted]] > > > > > > ------------------------------ > > > > Subject: Pié de página del digest > > > > _______________________________________________ > > R-help-es mailing list > > [email protected] > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > ------------------------------ > > > > Fin de Resumen de R-help-es, Vol 75, Envío 4 > > ******************************************** > > > Jones Lang LaSalle Arquitectura, SLU > Registration number: B-61888715 > Registered Office: Pº de la Castellana, 51 - 5ª ; 28046 Madrid > > > This e-mail is for the use of the intended recipient(s) only. If you have > received this e-mail in error, please notify the sender immediately and then > delete it. If you are not the intended recipient, you must not use, disclose > or distribute this e-mail without the author's prior permission. We have > taken precautions to minimise the risk of transmitting software viruses, but > we advise you to carry out your own virus checks on any attachment to this > message. We cannot accept liability for any loss or damage caused by software > viruses. If you are the intended recipient and you do not wish to receive > similar electronic messages from us in future then please respond to the > sender to this effect. > > > > --Archivo adjunto de mensaje reenviado-- > From: [email protected] > CC: [email protected] > To: [email protected] > Date: Tue, 5 May 2015 15:35:14 +0200 > > Subject: Re: [R-es] Muestreo de bases de datos > > Hola, > > Para mí el principal error de la anécdota es intentar hacer una "traducción > literal" de lo que se tiene programado en SAS porque no se tiene ni idea de > cómo funciona R. Muchas veces en SAS se hacen determinadas cosas > simplemente "porque se puede" sin pensar en si realmente son necesarias o > son una buena práctica, como por ejemplo, lanzar una regresión logística > para un conjunto de 5 millones de registros con 3 variables. Lo hago porque > el comercial de SAS de turno me dijo que se podía y que era mucho mejor, y > era algo que otros programas no podían hacer, y vende muy bien decirlo... > > Creo que cuando se trabaja con R hay que cambiar un poco el chip, y por > mucho que nos guste, asumir que tiene ciertas limitaciones a la hora de > procesar datos y que no pasa nada por combinarla con otras herramientas. > Cuando se mencionaba que "R no sirve para trabajar en la base de datos" > creo se refiere a hacer el procesamiento de los datos dentro de R, y que > esta confusión viene de que mucha gente utiliza "base de datos" como > sinónimo de "conjunto de datos". Como apuntan algunos, R se lleva bastante > bien con muchas bases de datos, y creo que es una muy buena práctica > delegar en la medida de lo posible el procesamiento a una bbdd. Si no > existe, pues la creas, es gratis. Yo he trabajado en varios proyectos > montando una mysql y R con mucho éxito. Toda la manipulación de datos que > puedo la delego en mysql, y el rendimiento es MUY bueno si tienes espacio > en disco suficiente para crear algunos índices. Utilizo R para generar las > consultas un poco al estilo de cómo funcionan las macros de SAS. Como > grandes ventajas, es un código que es muy fácil portar a otros sistemas > (includo SAS, via proc sql). La mayoría de los modelos que generaras pueden > traducirse en fórmulas que se pueden implementar perfectamente en sql > también y permitirán generar un "código de scoring" puramente SQL. A R solo > llevo lo absolutamente imprescindible para hacer el análisis o modelo que > toque. En el peor de los casos, con casos complicados que puedan requerir > algunos conjuntos de datos más grandes, comprar una máquina con 64-128GB de > ram probablemente sea mucho más barato que las licencias de SAS necesarias > para hacerlo en una máquina menos potente. Aquí también hace falta mucho > cambio de chip de las empresas que parece que tienen alergia a hacer > esto... > > Si la cosa se complica más y sigues necesitando procesar conjuntos de datos > mucho más grandes, probablemente sea mejor opción pasarse al mundo big data > (Hadoop-HIVE, Spark...). (Qué sí, que ahora SAS también hace big data, pero > a qué precio... ) > > > Saludos. > Fer. > > > > El 5 de mayo de 2015, 13:12, Gilsanz, Jose Luis < > [email protected]> escribió: > > > Hola > > > > Desviándome un poco de la cuestión que plantea Freddy, no estoy muy de > > acuerdo con lo que comenta acerca de que "... R no está diseñado > > (operaciones en la base de datos)..". > > > > Precisamente la mayor parte de mi trabajo en R se realiza vinculadolo a un > > servidor Microsoft SQL Server y lo cierto es que, hasta ahora, "se > > entienden" muy bien entre ellos. > > Cierto es que, en mi caso, la mayor parte del flujo de datos (con millones > > de registros como norma general) va de R hacia el SQL, puesto que utilizo R > > para descargar los datos, organizarlos y depurarlos antes de subirlos al > > SQL server. > > Al principio me inquietaba mucho el tiempo (horas en algún caso) en el > > que la consola de R se mostraba "pensando" hasta que se subían todos los > > datos al SQL Server, así que diseñe una función que usando el paquete > > snowfall mostraba una barra de progreso mientras se hacia la subida de > > datos. > > > > Para el flujo de datos en sentido inverso, (de SQL Server a R) siempre me > > aseguro de que la consulta SQL que "baja" los datos del SQL Server a un > > dataframe o similar solo recupera los datos verdaderamente necesarios. > > Lógicamente y dependiendo de lo que vayas a hacer luego con esos datos a > > veces esto no es posible, pero en general eso de "bajarse todo" e intentar > > ejecutar un proceso me parece un hábito bastante pernicioso e improductivo. > > > > > > > > > > > > > > > -----Mensaje original----- > > > De: R-help-es [mailto:[email protected]] En nombre de r- > > > [email protected] > > > Enviado el: martes, 05 de mayo de 2015 12:00 > > > Para: [email protected] > > > Asunto: Resumen de R-help-es, Vol 75, Envío 4 > > > > > > Envíe los mensajes para la lista R-help-es a > > > [email protected] > > > > > > Para subscribirse o anular su subscripción a través de la WEB > > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > O por correo electrónico, enviando un mensaje con el texto "help" en el > > > asunto (subject) o en el cuerpo a: > > > [email protected] > > > > > > Puede contactar con el responsable de la lista escribiendo a: > > > [email protected] > > > > > > Si responde a algún contenido de este mensaje, por favor, edite la linea > > del > > > asunto (subject) para que el texto sea mas especifico que: > > > "Re: Contents of R-help-es digest...". Además, por favor, incluya en la > > > respuesta sólo aquellas partes del mensaje a las que está respondiendo. > > > > > > > > > Asuntos del día: > > > > > > 1. Muestreo de bases de datos.- (Freddy Omar López Quintero) > > > 2. Re: Muestreo de bases de datos.- (Carlos J. Gil Bellosta ) > > > 3. Re: Muestreo de bases de datos.- ([email protected]) > > > > > > > > > ---------------------------------------------------------------------- > > > > > > Message: 1 > > > Date: Mon, 4 May 2015 15:15:33 -0300 > > > From: Freddy Omar López Quintero <[email protected]> > > > To: "[email protected]" <[email protected]> > > > Subject: [R-es] Muestreo de bases de datos.- > > > Message-ID: > > > <CALCOUqu7nKupKdc47Q2ixvsfGVqAdOhgdLmNMfc8JvTS7hqX+Q@ > > > mail.gmail.com> > > > Content-Type: text/plain; charset="UTF-8" > > > > > > ¡Hola! > > > > > > Mi duda surge por la siguiente anécdota: un amigo (empleado de una > > > enorme consultora que tiene SAS) migró a R y ansioso me contó que iba a > > > ejecutar las rutinas que había traducido de SAS a R y luego de intentar > > > ejecutarlas nada le funcionó porque, ingenuamente, quería hacer cosas > > para > > > las cuales R no está diseñado (operaciones en la base de datos) y porque > > leyó > > > TODOS los datos de una consulta (millones de registros) e intentó correr > > > algún procedimiento (!). Me dijo que SAS corre todo lo que él necesita y > > pues > > > quedó tristemente decepcionado. > > > > > > Yo le dije que es corriente tomar una muestra de los datos para calibrar > > los > > > modelos que se van a necesitar y que no es necesario utilizar los > > millones de > > > registros enteros. Esto me hizo pensar ¿existen normas o buenas prácticas > > > para el muestreo de las bases de datos?¿existen normativas?¿lineamientos? > > > Es claro que mi primera respuesta sería ocupar los métodos ya > > desarrollados > > > para encuestas, pero quién sabe. > > > > > > Si existen: ¿tienen su contraparte en R? > > > > > > Gracias y disculpen las molestias. > > > > > > ¡Salud! > > > > > > -- > > > «No soy aquellas sombras tutelares > > > que honré con versos que no olvida el tiempo.» > > > > > > JL Borges > > > > > > [[alternative HTML version deleted]] > > > > > > > > > > > > ------------------------------ > > > > > > Message: 2 > > > Date: Mon, 4 May 2015 20:35:28 +0200 > > > From: "Carlos J. Gil Bellosta " <[email protected]> > > > To: Freddy Omar López Quintero <[email protected]> > > > Cc: "[email protected]" <[email protected]> > > > Subject: Re: [R-es] Muestreo de bases de datos.- > > > Message-ID: > > > <CADg83efiwWEdwA6dyR4RUkwB5Qc5evOAmdLfBeg+yO0GngL0Aw > > > @mail.gmail.com> > > > Content-Type: text/plain; charset=UTF-8 > > > > > > Hola, ¿qué tal? > > > > > > La mejor manera de muestrear una tabla en una base de datos es a través > > > del módulo de algún valor (típicamente autonumérico), como los ids. Si > > no, a > > > través del módulo de un hash de algún identificador similar. Este > > > procedimiento tiene la ventaja de ser repetible: > > > consultas sucesivas pueden muestrear la misma subpoblación u otra de > > > tamaño similar completamente distinta de la anterior. El filtro se hace > > en el > > > where de la consulta a la base de datos (y la sintaxis cambia de una a > > otra). > > > > > > Si los datos son grandes y están en una base de datos, es mejor > > manipularlos > > > dentro de ella previamente enviando consultas SQL desde R y solo > > descargar > > > los datos (debidamente filtrados y muestreados, es decir, pequeños y/o > > > manejables) al final. > > > > > > Un saludo, > > > > > > Carlos J. Gil Bellosta > > > http://www.datanalytics.com > > > > > > > > > > > > El día 4 de mayo de 2015, 20:15, Freddy Omar López Quintero > > > <[email protected]> escribió: > > > > ¡Hola! > > > > > > > > Mi duda surge por la siguiente anécdota: un amigo (empleado de una > > > > enorme consultora que tiene SAS) migró a R y ansioso me contó que iba > > > > a ejecutar las rutinas que había traducido de SAS a R y luego de > > > > intentar ejecutarlas nada le funcionó porque, ingenuamente, quería > > > > hacer cosas para las cuales R no está diseñado (operaciones en la base > > > > de datos) y porque leyó TODOS los datos de una consulta (millones de > > > > registros) e intentó correr algún procedimiento (!). Me dijo que SAS > > > > corre todo lo que él necesita y pues quedó tristemente decepcionado. > > > > > > > > Yo le dije que es corriente tomar una muestra de los datos para > > > > calibrar los modelos que se van a necesitar y que no es necesario > > > > utilizar los millones de registros enteros. Esto me hizo pensar > > > > ¿existen normas o buenas prácticas para el muestreo de las bases de > > > > datos?¿existen normativas?¿lineamientos? Es claro que mi primera > > > > respuesta sería ocupar los métodos ya desarrollados para encuestas, > > pero > > > quién sabe. > > > > > > > > Si existen: ¿tienen su contraparte en R? > > > > > > > > Gracias y disculpen las molestias. > > > > > > > > ¡Salud! > > > > > > > > -- > > > > «No soy aquellas sombras tutelares > > > > que honré con versos que no olvida el tiempo.» > > > > > > > > JL Borges > > > > > > > > [[alternative HTML version deleted]] > > > > > > > > _______________________________________________ > > > > R-help-es mailing list > > > > [email protected] > > > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > > > > > > > ------------------------------ > > > > > > Message: 3 > > > Date: Mon, 4 May 2015 19:32:14 +0000 > > > From: <[email protected]> > > > To: "=?utf-8?Q?Carlos_J._Gil_Bellosta?=" <[email protected]>, > > > Freddy López <[email protected]> > > > Cc: "[email protected]?=" <[email protected]> > > > Subject: Re: [R-es] Muestreo de bases de datos.- > > > Message-ID: <[email protected]> > > > Content-Type: text/plain; charset="UTF-8" > > > > > > Estimado Freddy López > > > > > > > > > Yo estoy de acuerdo con Carlos Gil Bellosta, no se si es apropiado para > > > millones del registros como los que usted comenta, pero R tiene sqldf, > > que > > > básicamente usa sqlite, esto posibilita usar una base de datos dentro de > > R sin > > > tener que preocuparnos demasiado, otra forma es utilizar data.table en > > lugar > > > de data.frame, dplyr, posiblemente su amigo no migro correctamente de SAS > > > a R (aunque tome con cuidado esto último, yo nunca use SAS). > > > > > > > > > Javier Rubén Marcuzzi > > > > > > > > > > > > > > > > > > De: Carlos J. Gil Bellosta > > > Enviado el: ?lunes?, ?04? de ?mayo? de ?2015 ?03?:?35? ?p.m. > > > Para: Freddy López > > > CC: [email protected] > > > > > > > > > > > > > > > > > > Hola, ¿qué tal? > > > > > > La mejor manera de muestrear una tabla en una base de datos es a través > > > del módulo de algún valor (típicamente autonumérico), como los ids. Si > > no, a > > > través del módulo de un hash de algún identificador similar. Este > > > procedimiento tiene la ventaja de ser repetible: > > > consultas sucesivas pueden muestrear la misma subpoblación u otra de > > > tamaño similar completamente distinta de la anterior. El filtro se hace > > en el > > > where de la consulta a la base de datos (y la sintaxis cambia de una a > > otra). > > > > > > Si los datos son grandes y están en una base de datos, es mejor > > manipularlos > > > dentro de ella previamente enviando consultas SQL desde R y solo > > descargar > > > los datos (debidamente filtrados y muestreados, es decir, pequeños y/o > > > manejables) al final. > > > > > > Un saludo, > > > > > > Carlos J. Gil Bellosta > > > http://www.datanalytics.com > > > > > > > > > > > > El día 4 de mayo de 2015, 20:15, Freddy Omar López Quintero > > > <[email protected]> escribió: > > > > ¡Hola! > > > > > > > > Mi duda surge por la siguiente anécdota: un amigo (empleado de una > > > > enorme consultora que tiene SAS) migró a R y ansioso me contó que iba > > > > a ejecutar las rutinas que había traducido de SAS a R y luego de > > > > intentar ejecutarlas nada le funcionó porque, ingenuamente, quería > > > > hacer cosas para las cuales R no está diseñado (operaciones en la base > > > > de datos) y porque leyó TODOS los datos de una consulta (millones de > > > > registros) e intentó correr algún procedimiento (!). Me dijo que SAS > > > > corre todo lo que él necesita y pues quedó tristemente decepcionado. > > > > > > > > Yo le dije que es corriente tomar una muestra de los datos para > > > > calibrar los modelos que se van a necesitar y que no es necesario > > > > utilizar los millones de registros enteros. Esto me hizo pensar > > > > ¿existen normas o buenas prácticas para el muestreo de las bases de > > > > datos?¿existen normativas?¿lineamientos? Es claro que mi primera > > > > respuesta sería ocupar los métodos ya desarrollados para encuestas, > > pero > > > quién sabe. > > > > > > > > Si existen: ¿tienen su contraparte en R? > > > > > > > > Gracias y disculpen las molestias. > > > > > > > > ¡Salud! > > > > > > > > -- > > > > «No soy aquellas sombras tutelares > > > > que honré con versos que no olvida el tiempo.» > > > > > > > > JL Borges > > > > > > > > [[alternative HTML version deleted]] > > > > > > > > _______________________________________________ > > > > 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 > > > [[alternative HTML version deleted]] > > > > > > > > > ------------------------------ > > > > > > Subject: Pié de página del digest > > > > > > _______________________________________________ > > > R-help-es mailing list > > > [email protected] > > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > > > > ------------------------------ > > > > > > Fin de Resumen de R-help-es, Vol 75, Envío 4 > > > ******************************************** > > > > > > Jones Lang LaSalle Arquitectura, SLU > > Registration number: B-61888715 > > Registered Office: Pº de la Castellana, 51 - 5ª ; 28046 Madrid > > > > > > This e-mail is for the use of the intended recipient(s) only. If you have > > received this e-mail in error, please notify the sender immediately and > > then delete it. If you are not the intended recipient, you must not use, > > disclose or distribute this e-mail without the author's prior permission. > > We have taken precautions to minimise the risk of transmitting software > > viruses, but we advise you to carry out your own virus checks on any > > attachment to this message. We cannot accept liability for any loss or > > damage caused by software viruses. If you are the intended recipient and > > you do not wish to receive similar electronic messages from us in future > > then please respond to the sender to this effect. > > _______________________________________________ > > R-help-es mailing list > > [email protected] > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > [[alternative HTML version deleted]] > > > -- «No soy aquellas sombras tutelares que honré con versos que no olvida el tiempo.» JL Borges [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
