¡Por fin en las III jornadas de R!

Ya estamos en las III Jornadas. Están a punto de comenzar. Continúo en Twitter. De momento la respuesta de la gente es muy positiva; la sala se está llenando (mucho).

17 de noviembre de 2011 · rvaquerizo

El sobremuestreo ¿mejora mi estimación?

El sobremuestreo (oversampling) es una técnica de muestreo que se emplea habitualmente cuando tenemos una baja proporción de casos positivos en clasificaciones binomiales. Los modelos pueden “despreciar” los casos positivos por ser muy pocos y nuestro modelo no funcionaría. Para incrementar el número de casos positivos se emplea el sobremuestreo. Ejemplos habituales pueden ser los modelos de fraude: un 99% de las compras son correctas y un 1% son fraudulentas. Si realizo un modelo sin tratar este desequilibrio, el algoritmo puede estar seguro al 99% de que todas las compras son correctas, ignorando el fraude. En este caso hemos de realizar un sobremuestreo para incrementar nuestros casos de fraude y poder detectar los patrones. ...

6 de noviembre de 2011 · rvaquerizo

Comparamos los programas electorales de PP y PSOE con R

Replicamos el post anterior sobre el análisis del programa electoral del PP y lo comparamos con el programa electoral del PSOE. Programas electorales que presentan estos partidos políticos españoles de cara a las elecciones del 20-N. No vamos a entrar en el contenido de ambos programas; sólo nos limitamos a representar gráficamente su contenido con nubes de palabras. Programa del PSOE: Programa del PP: Esto que veis es el análisis más completo que hay sobre los programas electorales. Lo malo (o lo bueno) es que cada uno ha de sacar sus propias conclusiones. Yo he sacado alguna impresión interesante. ...

3 de noviembre de 2011 · rvaquerizo

Chart Tools un add-in imprescindible para Excel

El add-in JWalk Chart Tools de Excel, que os podéis descargar aquí, nos ofrece una serie de funcionalidades que pueden ayudarnos a trabajar con gráficos en Excel. Una vez descargado y activado el add-in, al seleccionar un gráfico podemos emplear este complemento. En la primera pestaña podemos añadir etiquetas personalizadas a nuestros gráficos de Excel, algo que ya realizamos con macros: Basta con seleccionar la serie y elegir el rango de datos que contiene las etiquetas. Para trabajar con etiquetas tenemos otro add-in de Excel que os recomiendo que descarguéis: el XY Chart Labeler. ...

28 de octubre de 2011 · rvaquerizo

Trucos SAS. Operaciones con tablas de dimensiones con SAS

Algunos llaman a las tablas de dimensiones tablas de lookup; yo me niego. Con SAS ya hemos visto cómo crear cruces de tablas de dimensiones con tablas de hechos a través de formatos; bajo mi punto de vista, el método más eficiente. Pero hoy quería traeros un ejemplo de cruce de tabla pequeña con tabla grande a través de array multidimensionales con SAS. Se trata de guardar los valores de la tabla pequeña en un array temporal multidimensional cuando leemos la tabla grande. Para ilustrar esta tarea, he preparado un ejemplo: ...

25 de octubre de 2011 · rvaquerizo

Gráficos de barras y líneas en dos ejes con R

Aunque no es recomendable crear gráficos con 2 ejes, hoy quería mostraros un gráfico muy común realizado con R. Se trata del gráfico de barras y líneas para un factor. Las barras serán un valor de exposición del factor y las líneas pueden ser una frecuencia siniestral y estarán en un eje secundario. Con esto crearemos nuestro gráfico de barras y líneas en dos ejes. Simulamos los datos para crear el gráfico con R: ...

26 de septiembre de 2011 · rvaquerizo

Trucos Excel. Unir varios Excel en uno

Tenía pendiente revisar una de las entradas más visitadas del blog. Trata la problemática de unir varios Excel en uno solo. En el caso concreto, servía para unir varios Excel generados por SAS a través de una macro en SAS. En la entrada de hoy, quiero trabajar con un ejemplo que os podéis descargar aquí en formato RAR. De los archivos que comparto, el más interesante es el que llamamos unir_varios_excel.xlsm: se trata de un archivo Excel para macros que contiene un par de macros más que interesantes. Un pantallazo de este libro de Excel: ...

21 de septiembre de 2011 · rvaquerizo

Univariantes de campos de nuestra BBDD con Kettle

El Kettle no sólo puede servirnos para subir y bajar tablas a nuestra BBDD. También puede ayudarnos a describir las tablas de nuestras BBDD de una forma muy sencilla. El paso Univariate Statistics será nuestro aliado para esta sencilla tarea. Lo primero que tenemos que hacer es crear una conexión a nuestra BBDD. Hace tiempo ya hablamos de esta labor con PostgreSQL. Una vez creada la conexión, comprobamos su correcto funcionamiento; el primer paso será una Entrada Tabla donde seleccionaremos la tabla que deseamos describir: ...

12 de septiembre de 2011 · rvaquerizo

Análisis de textos con R

Vamos a replicar un ejemplo ya presentado con WPS en esta misma bitácora. Tratamos de hacer algo tan sencillo como contar palabras y, para ello, empleamos de nuevo un debate del Congreso de los Diputados de España. Estas intervenciones las transformamos en un fichero de texto que vosotros podéis descargaros de este enlace. Bien, partimos de un archivo de texto de Windows y con él vamos a crear un data.frame de R que contendrá las palabras empleadas en esa sesión del Congreso español. Pasamos a analizar el código empleado: ...

5 de septiembre de 2011 · rvaquerizo

Números aleatorios con SAS

En un solo paso data quiero mostraros las funciones más habituales para generar números aleatorios con SAS. Una entrada para que os copiéis el código y lo analicéis con SAS. Quiero que sirva de guía para que recordéis las funciones más empleadas; además, será muy útil para los que se estén iniciando en el uso de SAS: data aleatorios; drop a b raiz n p; raiz = 20; do i = 1 to 2000; * DISTRIBUCIÓN UNIFORME; uniforme = ranuni(raiz); * ALEATORIO ENTRE 2 NUMEROS; a = 2; b = 10; aleatorio_entre = a + (b - a) * ranuni(raiz); * NORMAL(0,1); normal = rannor(raiz); * NORMAL(a,b); normal_a_b = b * rannor(raiz) + a; * POISSON MEDIA a; poisson = ranpoi(raiz, a); * BINOMIAL TAMAÑO n Y PROBABILIDAD p; n = 10; p = 0.5; binomial_n_p = ranbin(raiz, n, p); * EXPONENCIAL 1; exponencial_1 = ranexp(raiz); * GAMMA(a); gamma_l = rangam(raiz, a); * VALORES ALEATORIOS ENTRE 1 Y 5 CON PROBABILIDADES p1 p2 ...; valores = rantbl(raiz, 0.3, 0.1, 0.2, 0.2, 0.6); output; end; run;

27 de agosto de 2011 · rvaquerizo