cómo usar jsl para calcular la desviación estándar por IDHola, tengo una tabla similar a esta y quería seleccionar ID donde hay más de una entrada y calcular la desviación estándar del resultado agrupado por ID. Por ejemplo, en este caso, necesito seleccionar ID 12345 y calcular la desviación estándar de los primeros 3 resultados.
Sé que puedo hacer esto tabulando, pero mi tabla real es muy grande, más de 1 millón de filas, tabular por ID y calcular la desviación estándar resulta llevar mucho tiempo. La mayoría de los ID en mi tabla actual tienen solo una fila. ¿Hay alguna forma de que pueda hacer algo como esto y luego calcular la desviación estándar para el grupo de resultados restante por ID? ¡Gracias por su sugerencia!
seleccione dónde (n filas (columnas de agrupación (:ID))>1)
| IDENTIFICACIÓN | resultado |
| 12345 | 0.3 |
| 12345 | 0,4 |
| 12345 | 0,2 |
| 23456 | 0,5 |
| 34567 | 0,2 |
Modelado estadístico avanzadoAutomatización y secuencias de comandosRe: cómo usar jsl para calcular la desviación estándar por IDSeleccione su columna de agrupación (ID)

Luego seleccione la columna en la que desea realizar el cálculo y elija Desviación estándar (tenga en cuenta la Agrupación por ID)



Re: cómo usar jsl para calcular la desviación estándar por IDPocas opciones mas
Crear tabla resumen

Una vez que tenga la tabla de resumen, puede hacer clic en la columna stddev y mantener presionado el mouse durante un tiempo. Esto le permite "seleccionar" la columna y soltarla en su tabla original.

También podrías haber usado Actualizar con la tabla resumen.

Puede crear una tabla similar usando Tabulate (tenga en cuenta que la identificación es nominal)

Luego, desde el triángulo rojo, conviértalo en una tabla de datos.

luego puede usar Actualizar (o unirse) para devolver los resultados a su tabla.
También hay muchas opciones de secuencias de comandos, aquí hay una que usa Summarize()
Names Default To Here(1);
dt = Current Data Table();
Summarize(ids = by(:ID), stddevs = Std dev(:result));
show(ids, stddevs);
// ids = {"12345", "23456", "34567"}; // note that these are strings even if they were numbers originally
// stddevs = [0.1, ., .];