Cuente el número de ceros en una columna (JSL)<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
He estado usando la plataforma de Distribución para analizar manualmente un conjunto de datos, pero como tendré que repetir, ahora estoy tratando de crear un script JSL para extraer las medidas que son más importantes. Los datos se ven así:
Puntuación del modelo
MODEL1 3.54485
MODEL2 2.36485
MODELO1 5.38456
MODEL2 2.14556
MODELO 0 0
MODEL2 0.04856
Me gustaría extraer la media, std dev, etc. pero también me gustaría saber con qué frecuencia la puntuación es cero para cada modelo. He intentado usar el resumen, tabular y algunas funciones en JSL. Puedo lograr todo menos la porción de "contar ceros". Puedo obtener este número manualmente al crear la distribución y luego hacer las opciones del histograma >> mostrar recuentos. ¿Alguna idea sobre cómo hacerlo en JSL? Código hasta ahora:
dt = Abrir ("C: \ Desktop \ Results.jmp);
dt << resumen (
Grupo (: Modelo),
Mediana (: puntuación),
Puntuación media ),
Std Dev (: puntuación),
Rango (: puntuación),
);
Re: Cuenta el número de ceros en una columna (JSL)¡Gracias! Esto es mucho más limpio.
Re: Cuenta el número de ceros en una columna (JSL)Aquí hay una versión ligeramente simplificada que debería dar el mismo resultado.
dt = Abierto ( "C: \ Desktop \ results1" || nombre del archivo || ".jmp" ) ;
dt2 = dt << Resumen ( Grupo ( : Modelo ) , Mediana ( : Puntuación ) , Media ( : Puntuación ) , Distancia ( : Puntuación ) ) ;
dt2 << Eliminar filas ( 2 ) << Nueva Columna ( "Num Zeroes" ,
Numérico ,
Continuo ,
Formato ( mejor ) ,
<< establecer cada valor ( N filas ( dt << obtener filas donde ( : Puntuación == 0 Y : Modelo == "Modelo 1" ) ) )
) ;
Re: Cuenta el número de ceros en una columna (JSL)¡Gracias! Estoy seguro de que el código a continuación no es óptimo, pero pude incorporar su código para obtener el resultado que quería.
filename = ""; / * nombre general para que pueda repetir para diferentes archivos * /
dt = Abrir ("C: \ Escritorio \ resultados1" || nombre de archivo || ".jmp");
zero_count = 0;
por cada fila(
if (: score == 0 &: Model == "Model1", zero_count ++)
);
dt << resumen (
Grupo (: Modelo),
Mediana (: puntuación),
Puntuación media ),
Rango (: puntuación),
);
dt2 = Tabla de datos ("results1" || filename || "By (Model)");
dt2 << Eliminar filas (2); / * Solo quiero Model1 * /
dt2 << Nueva columna ("Num Zeroes",
Numérico,
Continuo,
Formato (mejor),
<< establecer cada valor (zero_count),
);
Re: Cuenta el número de ceros en una columna (JSL)Puede usar el comando de resumen y ver los recuentos agrupando en puntaje:
Data Table("Untitled") << Summary(Group(:Score))
o en jsl podrias hacer:
zero_count = 0;
for each row(
if(:score == 0, zero_count++)
);
show(zero_count);