Veinte paquetes de R para científicos de datos

Me llegó recientemente un artículo con una lista de veinte paquetes de R para data scientists. Y no la encuentro afortunada. Voy a agrupar esos veinte paquetes en algunas categorías y añadiré comentarios. La primera de ellas es la de manipulación de datos, tal vez la más amplia, que recoge los siguientes: sqldf, plyr, stringr (para procesar texto), lubridate (para procesar fechas),reshape2 y los paquetes de acceso a bases de datos.

De todos ellos me quedo con plyr y reshape2. Tengo que trabajar con texto y fechas solo esporádicamente y no les he sacado todo el rendimiento posible a stringr y lubridate: casi siempre me las arreglo con las funciones básicas para el manejo de texto y fechas (grep, as.Date, etc.). Para el acceso a bases de datos suelo tener que conformarme con RODBC. Sacaría de la lista a sqldf: no me gusta depender de terceras aplicaciones y con la edad me estoy volviendo alérgico al SQL. Añadiría, eso sí, el nuevo paquete dplyr y, por supuesto, data.table.

Entre los paquetes de análisis de datos, advertiría que no muchos trabajamos en control de calidad (para lo que sirve qcc), analizamos datos de panel (plm) o podemos sacar partido de los modelos mixtos (nlme). Incluso es raro encontrar series temporales (para lo que serviría forecast). Convengo en que igraph es muy útil e información con estructura de red aparece en muchos contextos. Mi lista de paquetes de análisis puro que recomendaría a una generalidad de científicos de datos sería:

  • igraph,
  • party,
  • randomForest,
  • y, posiblemente caret, y glmnet.

No tengo experiencia con Zelig y no puedo opinar en ningún sentido (¿lo hará alguno de mis lectores?).

Tampoco recomendaría invertir tiempo en familiarizarme con snow o Rmpi (para computación en paralelo) salvo en caso de estricta necesidad. Además de que la promesa del procesamiento en paralelo no siempre rinde sus frutos. La imputación de datos (Amelia) es algo que,cuando toca, intento resolver de manera bastante más artesanal; la mayor parte de los que obtengo son ceros naturales: si un cliente no ha comprado, no figura en la lista de ventas por lo que el nulo que aparece asociado a su cantidad es, en puridad, un cero.

Para la creación informes y resultados (incluidos gráficos), me quedaría, igual que en la lista que comento, con ggplot2. Aunque muchos preferirán lattice. Eso sí, mucho antes en la lista de paquetes de este apartado estaría knitr que, p.e., xtable.

Me dejo muchos y tal vez algún lector podrá sugerir algún otro.

5 comentarios sobre “Veinte paquetes de R para científicos de datos

  1. Isidro Hidalgo 12 marzo, 2014 19:34

    Además de e1071, yo sí incluiría forecast, que uso habitualmente. Para un analista de datos, hacer predicciones es habitual, ¿no? Desde luego es mi caso…

  2. Isidro Hidalgo 12 marzo, 2014 19:37

    Acabo de darme cuenta: no está MASS. Yo utilizo lda() muchas veces…

  3. Carlos J. Gil Bellosta 12 marzo, 2014 23:31

    ¿Lo dices por los SVM? ¿O por algo más? Yo siempre le he tenido antipatía a ese paquete por el su nombre: ¡es el de una asignatura!

  4. Isidro 13 marzo, 2014 12:07

    Sí, deberían haberse estrujado los sesos un poco más para darle un nombre normal. Yo estoy aprendiendo, de e1071 uso svm() exclusivamente, con la función tune.svm() esporádicamente, que no siempre me ha funcionado (y he acabado por ir directamente a validación cruzada, porque no me fío). Puede que, como es una adaptación de las librerías LIBSVM escritas originalmente en C++, se haya extendido antes. Está kernlab, pero he aprendido SVM con e1071… ¿Es mejor kernlab?

Los comentarios están desabilitados.