vacio studio matrices filtrar filas eliminar datos data crear contar columnas r bigdata logfile-analysis

studio - filtrar datos en r



¿Cómo puedo saber cuándo mi conjunto de datos en R va a ser demasiado grande? (1)

Voy a realizar algunos análisis de archivos de registro en R (a menos que no pueda hacerlo en R), y entiendo que mis datos deben caber en la memoria RAM (a menos que use algún tipo de solución como una interfaz para una tienda de claves, ¿tal vez?). Así que me pregunto cómo saber de antemano cuánto espacio ocuparán mis datos en la RAM, y si tendré suficiente. Sé cuánto RAM tengo (no una gran cantidad, 3 GB en XP), y sé cuántas filas y cols terminará mi archivo de registro y qué tipos de datos deben ser las entradas de col (que presumiblemente debo verificar como se lee).

¿Cómo puedo juntar esto en una decisión de ir / no tomar para llevar a cabo el análisis en R? (Presumiblemente, R necesita poder tener algo de RAM para hacer operaciones, ¡y también para mantener los datos!) Mi salida requerida inmediata es un conjunto de simples estadísticas de resumen, frecuencias, contingencias, etc., y entonces probablemente podría escribir algún tipo de analizador / tabulador que me dará el resultado que necesito a corto plazo, pero también quiero jugar con muchos enfoques diferentes a estos datos como un paso siguiente, entonces estoy viendo la posibilidad de usar R.

He visto muchos consejos útiles sobre grandes conjuntos de datos en R aquí, que he leído y volveré a leer, pero por ahora me gustaría entender mejor cómo averiguar si (a) debo ir allí, (b) irme. pero espere tener que hacer algunas cosas adicionales para que sea manejable, o (c) escaparse antes de que sea demasiado tarde y hacer algo en otro idioma / entorno (¡sugerencias bienvenidas ...!). ¡Gracias!


R es muy adecuado para grandes conjuntos de datos, ya sea utilizando soluciones bigmemory como bigmemory o el paquete ff (especialmente read.csv.ffdf ) o procesando sus cosas en fragmentos utilizando sus propios scripts. En casi todos los casos, una pequeña programación hace que el procesamiento de grandes conjuntos de datos (>> memoria, digamos 100 Gb) sea muy posible. Hacer este tipo de programación le lleva algo de tiempo aprender (no sé cuál es su nivel), pero lo hace realmente flexible. Si esta es su taza de té, o si necesita correr depende del tiempo que desea invertir en el aprendizaje de estas habilidades. Pero una vez que los tenga, harán que su vida como analista de datos sea mucho más fácil.

Con respecto al análisis de los archivos de registro, sé que las páginas de estadísticas generadas desde Call of Duty 4 (juego multijugador por computadora) funcionan analizando el archivo de registro iterativamente en una base de datos, y luego recuperando las estadísticas por usuario de la base de datos. Vea here un ejemplo de la interfaz. El enfoque iterativo (en fragmentos) significa que el tamaño del archivo de registro es (casi) ilimitado. Sin embargo, obtener un buen rendimiento no es trivial.

Muchas de las cosas que puedes hacer en R, puedes hacerlo en Python o Matlab, incluso en C ++ o Fortran. Pero solo si esa herramienta tiene soporte listo para usar para lo que desea, podría ver una clara ventaja de esa herramienta sobre R. Para procesar datos de gran tamaño, vea la vista de tareas de HPC . Ver también una respuesta anterior de min para leer un archivo de texto muy grande en trozos . Otros enlaces relacionados que pueden ser interesantes para usted:

Con respecto a elegir R o alguna otra herramienta, diría que si es lo suficientemente bueno para Google, es lo suficientemente bueno para mí;).