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
, yglmnet
.
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.