¡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]]
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 <freddy.vate01 en gmail.com> 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 > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es
javier.ruben.marcuzzi en gmail.com
2015-May-04 19:32 UTC
[R-es] Muestreo de bases de datos.-
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: R-help-es en r-project.org 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 <freddy.vate01 en gmail.com> 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 > 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 [[alternative HTML version deleted]]