[English version here]: one function a day, filldown

últimamente estoy dedicando demasiado tiempo a la manipulación de datos. Siendo cierto que el 80% del trabajo de un Data Scientist consiste en preparar los datos para que, con suerte, uno mismo realice un interesante análisis (sin suerte: el análisis lo realiza otro) no es menos cierto que en esta última temporada parece que lo único que hago son ETL.

Con destino a un flexdashboard o un Shiny, pero ETL. Así que aquí voy a ir dejando algunas ¨desconocidas¨ funciones bastante útiles. Empezamos hoy con filldown

A veces es necesario rellenar algunas de las columnas de un data frame con los valores previos en caso de no haber datos. Cada celda obtendría el último valor válido hasta encontrar otra no-vacía. Una forma muy elegante de hacerlo es con filldown del paquete…


[English version here: Dockerized Spacemacs]

Hablabamos el otro dia de cómo crear un entorno de programación para R basado en Emacs + ESS con algun añadido interesante, como es la terminal posix con ZSH para windows, y me recordó un amigo que probablemente haya situaciones aún más restrictivas en las cuales solamente tienes un emulador de terminal y poco más.

Pues bien, para estos casos, si tenéis la posibilidad de usar Docker no hace falta más que seguir estos pasos para poder usar toda la potencia de emacs (spacemacs + ess) en un entorno windows utilizando el contenedor oficial de la distribución. …


[English version here]

No sé si seré de la vieja escuela, o simplemente considero que las herramientas que te ayudan a ser más productivo son aquellas que te mantienen alejado del ratón el máximo tiempo posible, pero cada vez más trabajo con entornos de texto, terminales, y cosas así.

No es que sea nada nuevo en mi caso, pero sí que es cierto que cada vez es más raro que utilice un programa que tenga entorno gráfico “amigable” para mi trabajo diario con R. …


[English Version here: My favourite Rstudio snippets]

Algo no que no veo usar demasiado a los usuarios de Rstudio son los snippets. Una característica muy conocida y valorada fuera del mundo R en cualquier otro editor como Atom, Vscode o incluso el Notepad++, no parece que sea demasiado conocida.

De hecho me encuentro en ocasiones que se desarrollan Add-ins completos para conseguir funcionalidades que es muy sencillo lograr con el snippet adecuado. Voy a contar cómo hacerlo y mis dos favoritos.

Es muy facil. Hay dos maneras, la primera es el modo gráfico: Rstudio Tools > Global Options > Code > Enable Code Snippets (Edit…


[English version here: Using inotify for long running R scripts]

Tengo un amigo que dice que si haces una pregunta en Stack Overflow y nadie responde, es que estás preguntando una gilipollez.

Yo soy muy de preguntar en Stack Overflow y que nadie responda, pero como soy optimista, creo que es porque preguntar lo que nadie se pregunta, a veces conduce a la descubrimientos interesantes (si, y también he preguntado gilipolleces).

Esta semana anduve liado con un problema que no siendo específico de R, sin embargo si que me hizo pensar mucho sobre cómo montar un sistema que permita interactuar con el usuario en periodos muy largos de tiempo. …


Desde hace años, que pasé de los IDE más o menos mastodónticos para editar código a un flujo de trabajo y herramientas más minimalistas, he estado trabajando con diversos editores de texto para mi código, y me las he visto de todos los colores.

En mi opinión, al final, lo que mejor funciona es lo más sencillo y menos oscuro (por poco conocido). De modo que aquí dejo mi opinión sobre lo que yo considero el mejor editor de código que he usado nunca. Lo uso fundamentalmente para scripts de Bash o Python, porque para R ya sabemos todos que lo mejor es usar el Rstudio, que además de ser el mejor editor para R tiene la maravillosa cualidad de ser ligero y muy completo. …


[English here: My imposter Syndrome]

Existe una conocida característica que parece que aqueja a la gran mayoría de los que trabajan en la “Ciencia de Datos”. Se sienten un fraude. Que yo sepa no hay estudios científicos al respecto pero en encuestas informales en varias reuniones o charlas técnicas a las que suelo acudir, encuentro que la mayoría de las manos se levantan cuando se pide que indiquen si están de acuerdo con la siguiente afirmación:

Creo que soy un fraude y no merezco el éxito que tengo.

Para mí como psicólogo, es de sumo interés y creo que es una prometedora área de investigación (lástima que la psicología no sea en estos momentos mi principal área de trabajo) y me gustaría poner mis manos más pronto que tarde en algún estudio serio sobre el tema. Sin embargo, tengo que decir que me barrunto por dónde van los tiros y me atrevo a aventurar una causa fundamental para sentirse así. …


[English Version: My package finally published on CRAN]

Image for post
Image for post

Tampoco es para tirar cohetes, no se vayan a pensar, sino simplemente un paquete sencillo donde incluyo (e incluiré) las funciones que usualmente no encuentro en ningún otro debido a que manipula datos típicamente hispanos.

Es por ello que se llama spanish, y de momento consta solamente de una función, que realiza la conversión de cantidades numéricas expresadas en texto a su contrapartida en entero.

Los próximos pasos son incluir los decimales en la conversión, incluir funciones de pre-procesado de las cadenas de texto para “limpiarlas” antes de la conversión, y meter más funciones sobre datos típicamente españoles como geolocalización mediante API del catastro (presente en la primera versión pero retirada por la lentitud de la web del catastro, que provocaba el rechazo por parte CRAN), y similares.

Se aceptan sugerencias.


[English version: Great Packages for understanding your data]

En los primeros pasos de todo proyecto, una de las tareas más usuales es echar un vistazo a los datos y tratar de entender cómo están formados para, de la manera más rápida posible, estar en condiciones de pasar al siguiente paso de manipulación o imputación de datos.

Cuando empezaba en esto me hice mis propias funciones para esta tarea, pero ocurre que hay gente que ya ha pasado por esto y con tal de no reinventar la rueda, amablemente ponen a disposición de la comunidad una serie de paquetes que son una auténtica maravilla en este aspecto. Estos paquetes que hoy mencionaré aquí permiten cosas tan útiles como hacer gráficos con la distribución de los datos tanto presentes como faltantes, lo cual hace muy fácil darse cuenta con qué problemas nos vamos a encontrar en el trabajo con los mismos.
Todos estos paquetes merecen ser probados y muchos de ellos seguramente se conviertan en una poderosa herramienta de vuestro día a día. …


[English Version here]

Si trabajáis en temas de Machine Learning o simplemente clasificando o realizando predicciones, conoceréis paquetes como randomforest, caret, xgboost, gbm y demás.

El problema es cuando vuestro interlocutor (generalmente no técnico) necesita explicación acerca de los resultados. Es muy fácil explicar un árbol de decisión, y mucho más si usas el paquete FFtree que te da como salida un bonito gráfico que necesita muy poca explicación.

Image for post
Image for post

Pero no todos los algoritmos son tan fácilmente explicables incluso si los comprendes en toda su complejidad. …

About

SWIMMING IN THE DATA LAKE

Some hints & discoveries on my path to knowledge

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store