Subrayo todas las respuestas dadas, pero llamemos gato a gato: en muchos espacios de trabajo es casi imposible convencer a la gerencia de que es necesaria la inversión en herramientas de software "exóticas" (exóticas para ellos), y mucho menos contratar a alguien que pueda establecer arriba y mantenlo. Les he dicho a algunos clientes que se beneficiarían enormemente de contratar a un estadístico con experiencia en software y bases de datos, pero la respuesta general es "no puedo hacer".
Entonces, mientras eso no suceda, hay algunas cosas simples que puede hacer con Excel que le facilitarán la vida. Y lo primero de esto es sin duda el control de versiones. Puede encontrar más información sobre el control de versiones con Excel aquí .
Algunas cosas sobre el uso de Excel
A las personas que usan EXCEL a menudo les gustan las características de fórmula de EXCEL. Sin embargo, esta es la fuente más importante de errores dentro de las hojas EXCEL, y de problemas al intentar leer en archivos EXCEL en lo que respecta a mi experiencia. Me niego a trabajar con hojas que contienen fórmulas.
También obligo a todas las personas con las que trabajo a entregar las hojas EXCEL en formato plano, lo que significa que:
- La primera fila contiene los nombres de las diferentes variables.
- La hoja de cálculo comienza en la celda A1.
- Todos los datos se colocan en columnas, sin interrupciones y sin formato.
- Si es posible, los datos también se guardan en formato .csv. No es difícil escribir un script VBA que extraiga los datos, lo formatee y lo coloque en un archivo .csv. Esto también permite un mejor control de la versión, ya que puede realizar un volcado .csv de los datos todos los días.
Si hay una estructura general que los datos siempre tienen, entonces podría ser bueno desarrollar una plantilla con macros VB subyacentes para agregar datos y generar el conjunto de datos para el análisis. Esto en general evitará que cada empleado presente su propio sistema de almacenamiento de datos "genio", y le permite escribir su código en función de esto.
Dicho esto, si puede convencer a todos de usar SQL (y una interfaz para ingresar datos), puede vincular R directamente a ese. Esto aumentará en gran medida el rendimiento.
Estructura de datos y gestión
Como regla general, los datos almacenados en las bases de datos (o en las hojas EXCEL si insisten) deben ser el mínimo absoluto, lo que significa que cualquier variable que pueda calcularse a partir de algunas otras variables no debe estar contenida en la base de datos. Eso sí, a veces también puede ser beneficioso almacenar esas variables derivadas o transformadas, si los cálculos son tediosos y toman mucho tiempo. Pero estos deben almacenarse en una base de datos separada, si es necesario, vinculada a la original.
También se debe pensar en lo que se considera un caso (y, por lo tanto, una fila). Como ejemplo, las personas tienden a producir series de tiempo al hacer una nueva variable para cada punto de tiempo. Si bien esto tiene sentido en un EXCEL, la lectura de estos datos exige bastante cambio en la matriz de datos. Lo mismo para comparar grupos: debe haber un indicador de grupo y una variable de respuesta, no una variable de respuesta para cada grupo. De esta forma, las estructuras de datos también pueden estandarizarse.
Una última cosa con la que me encuentro con frecuencia es el uso de diferentes métricas. Las longitudes se dan en metros o centímetros, las temperaturas en Celcius, Kelvin o Farenheit, ... Uno debe indicar en cualquier extremo frontal o en cualquier plantilla en qué unidad se mide la variable.
E incluso después de todas estas cosas, aún desea tener un paso de control de datos antes de comenzar realmente con el análisis. Nuevamente, este puede ser cualquier script que se ejecute diariamente (por ejemplo, durante la noche) en nuevas entradas, y que señale problemas de inmediato (fuera de rango, tipo incorrecto, campos faltantes, ...) para que puedan corregirse lo más rápido posible. Si tiene que volver a una entrada que se hizo hace 2 meses para averiguar qué está mal y por qué, es mejor que obtenga algunas buenas "habilidades Sherlock" para corregirlo.
mis 2 centavos