He tenido un post de «por qué y cómo hice la transición de SPSS a R» en las obras durante un tiempo. Quería destacar cómo R puede ser más útil para flujos de trabajo de datos transparentes. Luego, hace unos días, otro «¿qué es mejor SPSS o R?»surgió una especie de debate en Twitter. Es similar a las guerras de valor p, o las continuas batallas frecuentistas contra bayesianas que logran frustrarme e intrigarme simultáneamente. Puede haber alguna utilidad en la discusión, pero a menudo solo se trata de chocar cabezas y perderse otros temas importantes.
Este post es un intento a manos llenas y alimentado por Coors de machacar juntos por qué debatir cuál es el mejor software es (en su mayoría) inútil y por qué hay temas más importantes que abordar.
Hay algo que ocurre muy temprano en el aprendizaje de un lenguaje de programación como R, especialmente cuando la transición de la punta-clicky, draggy-droppy -ness de SPSS. En pocas palabras, empiezas a convertirte en uno de esos imbéciles que honestamente pensaron que todo el mundo debería usar R, y comienza a decirles exactamente eso. Tal vez no le pase a todo el mundo, supongo que hay gente más agradable que yo por ahí. Por lo menos, hay una sensación de que R es «mejor» de alguna manera que SPSS.
Entonces, algo sucede. Tal vez un colega le recuerde las limitaciones de R debido a que otros usan SPSS solo, o pase una semana entera pronunciando el lenguaje más profano que raya en el racismo informático porque su código de mierda no hace eso que debería hacer (mis palabras exactas no hace mucho). De cualquier manera, comienza a darse cuenta de que no existe una solución única para el procesamiento y análisis de datos. Algunas herramientas son mejores para ciertas cosas, pero, si funciona, deje que funcione para las personas (alternativamente, no sea un fanático dogmático que argumenta a favor de un enfoque general).
Ya sea que use R, SPSS, Python, JASP (llame a JASP por ser increíble), MATLAB, Excel o cualquier otro lenguaje de programación o software de estadísticas, puede realizar adecuadamente los análisis que necesita para hacer inferencias estadísticas de sus datos. Si eres súper entusiasta y/o te odias a ti mismo, también puedes hacerlo todo a mano. Pero, todos deberíamos estar de acuerdo en que para hacer tu prueba t, cualquier cosa funciona.
Si una pieza de software en particular es «mejor» que otra, especialmente si está abogando por su uso más amplio, depende de lo que se entiende por mejor. Si mejor significa mejores estadísticas, entonces no tienes suerte, porque eso se puede hacer en cualquier parte.
Hay muchas otras consideraciones importantes que se pasan por alto al debatir entre software, como, si el software es libre y de código abierto, y si la herramienta ofrece estadísticas bayesianas. He usado JASP durante unos 30 minutos y ya lo prefiero a SPSS porque tiene; comentarios instantáneos, estadísticas bayesianas y es gratis. También me encantaría usar Python, porque entonces tendría un solo lenguaje para mis tareas, manejo de datos, análisis e informes. Pero, tener el tiempo para aprender el idioma está más allá de mis límites en este momento.
No existe un enfoque único para el manejo y análisis de datos, ni un «mejor software».
Manejo transparente de datos
Aquí está la pregunta que he estado pensando en la que podríamos centrarnos en su lugar. ¿Cómo podemos hacer que nuestro manejo y análisis de datos sean transparentes y reproducibles? Esto es mucho más importante para el avance de la ciencia que golpear a los softwares.
Esta es, sin embargo, una de las razones por las que prefiero R; procesamiento y análisis de datos documentados. El guion se puede compartir y evaluar. Incluso puedes hacer cosas elegantes y hacer que R escupa un PDF de descuento (en formato APA) con cada paso de tu procesamiento y análisis de datos como un maldito asistente.
«Pero, usted puede guardar y compartir la sintaxis de SPSS Sam gigante dong!»argumenta la buena persona en mi hombro. OK, usando SPSS puede ejecutar todo, desde los datos sin procesar hasta el análisis final y guardar la sintaxis. Genial, si viera que esto está pasando, estaría extasiado. Pero, debido a que esto no se enseña como estándar en las estadísticas de pregrado, terminamos con masas de tonterías indocumentadas.
Lo que también sucede (y apuesto a que el dinero es más probable), es que se usa algo más (excel) para manipular los datos con al menos algún grado de copiar+pegar o arrastrar valores de un archivo a otro para agregarlos. Pero, tal vez mi percepción se colorea al pasar aproximadamente 6 horas en mis maestros copiando, pegando, tirando de dos celdas y registrando variables en los datos de EEG de cada participante individual, en excel, antes de ingresarlos a Matlab para golpearlos un poco más.
al menos, habrá alguna de las etapas del procesamiento de los datos que en el mejor de los no documentados, y en el peor, es un grupo de mierda que nunca podría ser replicado incluso con la mejor de las intenciones.
¿Esto hace que R sea mejor? La respuesta es que no tiene que hacerlo. Me gusta que con R pueda ir de los datos sin procesar que se han generado, a los datos procesados, a la salida de los análisis estadísticos finales en un solo script. Es limpio y se siente más eficiente. Significa que cada etapa puede ser revisada. Pero, esto también se puede lograr si ha golpeado los datos con excel, importado a SPSS, golpeado con un mazo y luego clickedy hizo clic en algún análisis, siempre que los pasos estén documentados. Es posible tener un flujo de trabajo completamente transparente y replicable sin usar un lenguaje de programación con scripts. La mayor diferencia es que, en R, cada etapa del proceso se documenta automáticamente y se puede replicar de forma predeterminada.
Entonces, ¿vale la pena cambiar de software? no necesariamente. En primer lugar, creo que la mejor opción es invertir tiempo en hacer que el manejo de datos sea computacionalmente reproducible y transparente. Esto se puede hacer en cualquier lugar, desde usar la sintaxis de SPSS hasta escribir una descripción súper detallada de la parte de un documento desde la que copió y pegó. Siempre y cuando pueda asumir razonablemente que, dados sus datos y documentación en bruto, alguien más puede recrear sus resultados, entonces estamos de oro.
Esto también podría llevarlo a un lenguaje de programación como R, python o Matlab porque, en última instancia, será menos lento integrar estos pasos de análisis en un solo script. Al final, la transparencia es un objetivo mejor que la intolerancia del software. Mi mensaje para llevar a casa es que en lugar de preguntar «¿qué software debo aprender?», deberíamos preguntarnos unos a otros: «¿cómo puedo documentar de forma transparente mi procesamiento y análisis de datos?».
I do still prefer R to pointy-clicky though…