¿Existe alguna herramienta de línea de comandos que acepte el flujo de números (en formato ascii) desde la entrada estándar y proporcione las estadísticas descriptivas básicas de este flujo, como mínimo, máximo, media, mediana, RMS, cuantiles, etc.? La salida es bienvenida para ser parseable por el siguiente comando en la cadena de línea de comandos. El entorno de trabajo es Linux, pero otras opciones son bienvenidas.
Respuestas
¿Demasiados anuncios?También existe simple-r, que puede hacer casi todo lo que puede hacer R, pero con menos pulsaciones:
https://code.google.com/p/simple-r/
Para calcular las estadísticas descriptivas básicas, habría que escribir una de:
r summary file.txt
r summary - < file.txt
cat file.txt | r summary -
No puede ser más sencillo.
Existe sta, que es una variante c++ de st, también referenciada en estos comentarios.
Al estar escrito en c++, es rápido y puede manejar grandes conjuntos de datos. Es fácil de usar, incluye la posibilidad de elegir entre estimadores insesgados o sesgados, y puede ofrecer información más detallada, como el error estándar.
Puede descargar sta en github .
Descargo de responsabilidad: Soy el autor de sta .
Por si acaso, hay datastat
https://sourceforge.net/p/datastat/code/
un sencillo programa para Linux que calcula estadísticas simples desde la línea de comandos. Por ejemplo,
cat archivo.dat | datastat
mostrará el valor medio de todas las filas de cada columna de file.dat. Si necesita conocer la desviación estándar, el mínimo y el máximo, puede añadir las opciones --dev, --min y --max, respectivamente.
datastat tiene la posibilidad de agregar filas basadas en el valor de una o más columnas "clave".
Está escrito en C++, se ejecuta rápidamente y con poca ocupación de memoria, y se puede canalizar muy bien con otras herramientas como cut, grep, sed, sort, awk, etc.
También puede considerar el uso de clistats . Se trata de una herramienta de interfaz de línea de comandos altamente configurable para calcular las estadísticas de un flujo de números de entrada delimitados.
Opciones de E/S
- Los datos de entrada pueden proceder de un archivo, de la entrada estándar o de una tubería
- La salida puede escribirse en un archivo, en la salida estándar o en una tubería
- La salida utiliza cabeceras que comienzan con "#" para permitir la canalización a gnuplot
Opciones de análisis
- Detección basada en la señal, el fin de archivo o la línea en blanco para detener el procesamiento
- Se puede establecer un comentario y un carácter delimitador
- Las columnas se pueden filtrar del tratamiento
- Las filas pueden ser filtradas del procesamiento en base a una restricción numérica
- Las filas pueden ser filtradas del procesamiento basado en la restricción de la cadena
- Se pueden omitir las filas iniciales de la cabecera
- Se puede procesar un número fijo de filas
- Los delimitadores duplicados pueden ser ignorados
- Las filas pueden convertirse en columnas
- Hacer cumplir estrictamente que sólo se procesen las filas del mismo tamaño
- Se puede utilizar una fila que contenga los títulos de las columnas para titular las estadísticas de salida
Opciones estadísticas
- Estadísticas resumidas (recuento, mínimo, media, máximo, desviación estándar)
- Covarianza
- Correlación
- Desplazamiento por mínimos cuadrados
- Pendiente de mínimos cuadrados
- Histograma
- Datos brutos tras el filtrado
NOTA: Soy el autor.
Demasiada memoria y potencia de procesador, amigos. Usar R para algo así es más o menos como coger un mazo para matar un mosquito. Usa tu lenguaje favorito e implementa un algoritmo de media provisional. Para la media: $$\bar{x}_n = \frac{(n-1)\,\bar{x}_{n-1} + x_n}{n}$$ ; y para la varianza: $$s^2_n = \frac{S_n}{n-1}$$ $$S_n = S_{n-1} + (x_n-\bar{x}_{n-1})(x_n-\bar{x}_n).$$
Toma $\bar{x}_0 = S_0 = 0$ como valores de partida. Existen modificaciones para los análisis ponderados. Se pueden hacer los cálculos con dos reales de doble precisión y un contador.
1 votos
Le recomiendo que eche un vistazo a |STAT . Es un software bastante antiguo, pero es muy conveniente para estas cosas. También hay pyp y varios otros Herramientas Un*x.
0 votos
@chl Enlace ISTAT roto. ¿Pueden actualizarlo o convertirlo en una respuesta, por favor?
1 votos
@Masi Sí, parece que la página ya no existe. Aquí hay una enlace actualizado .
0 votos
stackoverflow.com/questions/9789806/ || serverfault.com/questions/548322/