Trabajo en una oficina donde SQL Server es la columna vertebral de todo lo que hacemos, desde el procesamiento de datos hasta la limpieza y el mung. Mi colega se especializa en escribir funciones complejas y procedimientos almacenados para procesar metódicamente los datos entrantes para que puedan estandarizarse y ponerse a trabajar en informes, visualizaciones y proyectos analíticos. Antes de comenzar aquí, tenía muy poca experiencia con SQL, aparte de escribir las consultas más básicas. La gran mayoría de mi trabajo de preparación de análisis se realizó en R. Mi jefe insiste en que mejore mis habilidades de SQL, aunque parece que hay muy pocas tareas que no se pueden hacer de manera más eficiente y con muchas menos líneas de código usando R paquetes como dplyr, data.table y tidyr (por nombrar algunos). Mi pregunta es: ¿tiene sentido?
Hace un par de semanas, me encontré con la tarea de obtener una lista de nombres de columna para cada fila en una tabla que cumpliera con ciertos criterios y concatenarlos en un vector de cadenas. Había una fecha límite ajustada y, en ese momento, estaba experimentando un bloqueo y no podía entender el problema. Le pregunté a mi jefe, quien a su vez le pidió a mi colega que escribiera un script TSQL para resolver el problema. Mientras trabajaba en ello, descubrí una forma de hacerlo en R escribiendo una función bastante simple y aplicándola sobre el marco de datos. Mi colega volvió con su guión unas dos horas después. Era al menos 75 líneas que comprenden dos bucles anidados. Le pedí que avisara cuando terminara la ejecución y dijo que tomaría varias horas. Mientras tanto, mi script R pudo recorrer los ~ 45,000 registros en aproximadamente 30 segundos.
¿Tengo razón al suponer que R es una opción mucho mejor para limpiar y mezclar datos? ¿Quizás el desarrollador de SQL en mi oficina es simplemente inepto? Tengo curiosidad por saber si alguien que haya trabajado con R y SQL (o Python y SQL) tiene alguna idea al respecto.