[R-es] Resumen de R-help-es, Vol 75, Envío 7

Pedro Concejero Cerezo pedro.concejerocerezo en telefonica.com
Mie Mayo 6 16:00:28 CEST 2015


Hola, me sorprende leer tu opinión ("R (puro) no es la herramienta ideal para el manejo directo del 'big data'") cuando precisamente este pasado mes de abril SparkR (ver descripción de su web más abajo) se ha integrado en Apache Spark y todo el mundo que está en "ese ajo" del "big data" (buzzword donde las haya) no le quita ojo a la publicación oficial este verano.

https://amplab-extras.github.io/SparkR-pkg/
SparkR is an R package that provides a light-weight frontend to use Apache Spark from R. SparkR exposes the Spark API through the RDD class and allows users to interactively run jobs from the R shell on a cluster.
NOTE: As of April 2015, SparkR has been officially merged into Apache Spark and is shipping in an upcoming release (1.4) due early summer 2015.

(lo poquísimo que sé de SparkR es que ya quien se tiene que pegar con map-reduce no usa otra cosa; sobre todo junto con python).

Salud
Pedro

El 06/05/2015 a las 15:49, r-help-es-request en r-project.org<mailto:r-help-es-request en r-project.org> escribió:

Envíe los mensajes para la lista R-help-es a
        r-help-es en r-project.org<mailto:r-help-es en r-project.org>

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:
        r-help-es-request en r-project.org<mailto:r-help-es-request en r-project.org>

Puede contactar con el responsable de la lista escribiendo a:
        r-help-es-owner en r-project.org<mailto:r-help-es-owner en r-project.org>

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. Re: Muestreo de bases de datos (Freddy Omar López Quintero)


----------------------------------------------------------------------

Message: 1
Date: Wed, 6 May 2015 10:48:49 -0300
From: Freddy Omar López Quintero <freddy.vate01 en gmail.com><mailto:freddy.vate01 en gmail.com>
To: Patricio Fuenmayor Viteri <patricio.fuenmayor en outlook.com><mailto:patricio.fuenmayor en outlook.com>,
        fernando.fernandez.gonzalez en gmail.com<mailto:fernando.fernandez.gonzalez en gmail.com>, jluis.gilsanz en tasacionesh.com<mailto:jluis.gilsanz en tasacionesh.com>,
        Javier Marcuzzi <javier.ruben.marcuzzi en gmail.com><mailto:javier.ruben.marcuzzi en gmail.com>,      Carlos Javier Gil
        Bellosta <cgb en datanalytics.com><mailto:cgb en datanalytics.com>
Cc: r-help-es <r-help-es en r-project.org><mailto:r-help-es en r-project.org>
Subject: Re: [R-es] Muestreo de bases de datos
Message-ID:
        <CALCOUqv1XP20U465rP6sHR0++9HsT2dETmGB-jRkWkFUU852Aw en mail.gmail.com><mailto:CALCOUqv1XP20U465rP6sHR0++9HsT2dETmGB-jRkWkFUU852Aw en mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"

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 <
patricio.fuenmayor en outlook.com<mailto:patricio.fuenmayor en outlook.com>>:




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: jluis.gilsanz en tasacionesh.com<mailto:jluis.gilsanz en tasacionesh.com>
To: r-help-es en r-project.org<mailto:r-help-es en r-project.org>
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:r-help-es-bounces en r-project.org] En nombre de r-
help-es-request en r-project.org<mailto:help-es-request en r-project.org>
Enviado el: martes, 05 de mayo de 2015 12:00
Para: r-help-es en r-project.org<mailto:r-help-es en r-project.org>
Asunto: Resumen de R-help-es, Vol 75, Envío 4

Envíe los mensajes para la lista R-help-es a
      r-help-es en r-project.org<mailto:r-help-es en r-project.org>

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:
      r-help-es-request en r-project.org<mailto:r-help-es-request en r-project.org>

Puede contactar con el responsable de la lista escribiendo a:
      r-help-es-owner en r-project.org<mailto:r-help-es-owner en r-project.org>

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.- (javier.ruben.marcuzzi en gmail.com<mailto:javier.ruben.marcuzzi en gmail.com>)


----------------------------------------------------------------------

Message: 1
Date: Mon, 4 May 2015 15:15:33 -0300
From: Freddy Omar López Quintero <freddy.vate01 en gmail.com><mailto:freddy.vate01 en gmail.com>
To: "r-help-es en r-project.org"<mailto:r-help-es en r-project.org> <r-help-es en r-project.org><mailto:r-help-es en r-project.org>
Subject: [R-es] Muestreo de bases de datos.-
Message-ID:
      <CALCOUqu7nKupKdc47Q2ixvsfGVqAdOhgdLmNMfc8JvTS7hqX+Q@
mail.gmail.com><mailto:CALCOUqu7nKupKdc47Q2ixvsfGVqAdOhgdLmNMfc8JvTS7hqX+Q en 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 " <cgb en datanalytics.com><mailto:cgb en datanalytics.com>
To: Freddy Omar López Quintero <freddy.vate01 en gmail.com><mailto:freddy.vate01 en gmail.com>
Cc: "r-help-es en r-project.org"<mailto:r-help-es en r-project.org> <r-help-es en r-project.org><mailto:r-help-es en r-project.org>
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
<freddy.vate01 en gmail.com><mailto: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<mailto:R-help-es en r-project.org>
https://stat.ethz.ch/mailman/listinfo/r-help-es





------------------------------

Message: 3
Date: Mon, 4 May 2015 19:32:14 +0000
From: <javier.ruben.marcuzzi en gmail.com><mailto:javier.ruben.marcuzzi en gmail.com>
To: "=?utf-8?Q?Carlos_J._Gil_Bellosta?=" <cgb en datanalytics.com><mailto:cgb en datanalytics.com>,
      Freddy López <freddy.vate01 en gmail.com><mailto:freddy.vate01 en gmail.com>
Cc: "=?utf-8?Q?R-help-es en r-project.org?="<mailto:=?utf-8?Q?R-help-es en r-project.org?=> <r-help-es en r-project.org><mailto:r-help-es en r-project.org>
Subject: Re: [R-es] Muestreo de bases de datos.-
Message-ID: <5547cad4.48958c0a.7228.2102 en mx.google.com><mailto:5547cad4.48958c0a.7228.2102 en mx.google.com>
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: R-help-es en r-project.org<mailto: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><mailto: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<mailto: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<mailto:R-help-es en r-project.org>
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
R-help-es en r-project.org<mailto:R-help-es en r-project.org>
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: fernando.fernandez.gonzalez en gmail.com<mailto:fernando.fernandez.gonzalez en gmail.com>
CC: r-help-es en r-project.org<mailto:r-help-es en r-project.org>
To: jluis.gilsanz en tasacionesh.com<mailto:jluis.gilsanz en tasacionesh.com>
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 <
jluis.gilsanz en tasacionesh.com<mailto:jluis.gilsanz en tasacionesh.com>> 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:r-help-es-bounces en r-project.org] En nombre de r-
help-es-request en r-project.org<mailto:help-es-request en r-project.org>
Enviado el: martes, 05 de mayo de 2015 12:00
Para: r-help-es en r-project.org<mailto:r-help-es en r-project.org>
Asunto: Resumen de R-help-es, Vol 75, Envío 4

Envíe los mensajes para la lista R-help-es a
      r-help-es en r-project.org<mailto:r-help-es en r-project.org>

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:
      r-help-es-request en r-project.org<mailto:r-help-es-request en r-project.org>

Puede contactar con el responsable de la lista escribiendo a:
      r-help-es-owner en r-project.org<mailto:r-help-es-owner en r-project.org>

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.- (javier.ruben.marcuzzi en gmail.com<mailto:javier.ruben.marcuzzi en gmail.com>)


----------------------------------------------------------------------

Message: 1
Date: Mon, 4 May 2015 15:15:33 -0300
From: Freddy Omar López Quintero <freddy.vate01 en gmail.com><mailto:freddy.vate01 en gmail.com>
To: "r-help-es en r-project.org"<mailto:r-help-es en r-project.org> <r-help-es en r-project.org><mailto:r-help-es en r-project.org>
Subject: [R-es] Muestreo de bases de datos.-
Message-ID:
      <CALCOUqu7nKupKdc47Q2ixvsfGVqAdOhgdLmNMfc8JvTS7hqX+Q@
mail.gmail.com><mailto:CALCOUqu7nKupKdc47Q2ixvsfGVqAdOhgdLmNMfc8JvTS7hqX+Q en 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 " <cgb en datanalytics.com><mailto:cgb en datanalytics.com>
To: Freddy Omar López Quintero <freddy.vate01 en gmail.com><mailto:freddy.vate01 en gmail.com>
Cc: "r-help-es en r-project.org"<mailto:r-help-es en r-project.org> <r-help-es en r-project.org><mailto:r-help-es en r-project.org>
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
<freddy.vate01 en gmail.com><mailto: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<mailto:R-help-es en r-project.org>
https://stat.ethz.ch/mailman/listinfo/r-help-es





------------------------------

Message: 3
Date: Mon, 4 May 2015 19:32:14 +0000
From: <javier.ruben.marcuzzi en gmail.com><mailto:javier.ruben.marcuzzi en gmail.com>
To: "=?utf-8?Q?Carlos_J._Gil_Bellosta?=" <cgb en datanalytics.com><mailto:cgb en datanalytics.com>,
      Freddy López <freddy.vate01 en gmail.com><mailto:freddy.vate01 en gmail.com>
Cc: "=?utf-8?Q?R-help-es en r-project.org?="<mailto:=?utf-8?Q?R-help-es en r-project.org?=> <r-help-es en r-project.org><mailto:r-help-es en r-project.org>
Subject: Re: [R-es] Muestreo de bases de datos.-
Message-ID: <5547cad4.48958c0a.7228.2102 en mx.google.com><mailto:5547cad4.48958c0a.7228.2102 en mx.google.com>
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: R-help-es en r-project.org<mailto: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><mailto: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<mailto: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<mailto:R-help-es en r-project.org>
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
R-help-es en r-project.org<mailto:R-help-es en r-project.org>
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
R-help-es en r-project.org<mailto:R-help-es en r-project.org>
https://stat.ethz.ch/mailman/listinfo/r-help-es




        [[alternative HTML version deleted]]










--
Pedro Concejero
BI & Big Data - Internal Exploitation - Telefónica I+D<http://www.tid.es>
E-mail: pedro.concejerocerezo en telefonica.com<mailto:pedro.concejerocerezo en telefonica.com>
skype: pedro.concejero
twitter @ConcejeroPedro<https://twitter.com/ConcejeroPedro>
linkedin pedroconcejero<http://www.linkedin.com/in/pedroconcejero/es>
Entusiasta R, me encontraréis aquí gRupo R madRid <http://madrid.r-es.org/>

________________________________

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted. el destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.

The information contained in this transmission is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it.

Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, pode conter informação privilegiada ou confidencial e é para uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário indicado, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique imediatamente por esta mesma via e proceda a sua destruição

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es