Col Sum hace referencia a la tabla de datos incorrectaTengo dos tablas de datos abiertas en mi script, digamos dt1 y dt2, y se abrieron en ese orden. dt1 tiene una columna con una variable de estado, donde cualquier cosa que no sea "1" representa un tipo de valor atípico. Quiero contar el número de valores atípicos en dt1. Esto es lo que tengo...
n_out = Col Sum(If( dt1:STATUS == "1", 0, 1));
Sin embargo, esto no parece estar funcionando. Parece que el código sobre está tratando de hacer referencia a dt2 ya que se abrió más recientemente. Si hago clic en dt1 para llevar la ventana al frente y luego ejecuto el código nuevamente, funciona. ¿Por qué mi referencia de dt1: STATUS no funciona?
Gracias por tu ayuda.
Re: Col Sum hace referencia a la tabla de datos incorrectaEste código también produce el valor correcto de 9:
Names Default to Here( 1 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Fitness.jmp" );
dt1 << New Column( "Outlier", Formula( :height > 65 ) );
n outliers = Col Sum( dt1:Outlier );
Aquí utilicé otra columna de datos con una fórmula que usa la expresión para probar un valor atípico. Este resultado me dice que Col Sum () podría no estar destinado a trabajar con ninguna expresión, sino específicamente con una columna de datos. (Sugerencia, sugerencia: COL SUM ().) No sé de dónde proviene el valor de 4 cuando se usa la expresión para la prueba de valores atípicos en lugar de una referencia de columna de datos.
Re: Col Sum hace referencia a la tabla de datos incorrectaPor qué no?
Re: Col Sum hace referencia a la tabla de datos incorrectaDe acuerdo... De acuerdo.... Lo siguiente produjo el conteo a 9.
Nombres predeterminados aquí (1);
dt1 = Abrir ("$ SAMPLE_DATA / Big Class.jmp");
dt2 = Abrir ("$ SAMPLE_DATA / Fitness.jmp");
n ht over 60 = Sum ((dt1: height << Get As Matrix)> 65);
¿Significa esto que la conversión a la matriz es una solución?
Re: Col Sum hace referencia a la tabla de datos incorrectaMismo problema ... ¿Mi código:
Nombres predeterminados aquí (1);
dt1 = Abrir ("$ SAMPLE_DATA / Big Class.jmp");
dt2 = Abrir ("$ SAMPLE_DATA / Fitness.jmp");
num_tall = Col Sum (dt1: altura> 65);
show (num_tall);
producir num_tall = 9 en su sistema?
Estoy usando JMP 13 si eso tiene algo que ver con eso.
Re: Col Sum hace referencia a la tabla de datos incorrectaMi pregunta tonta del día: ¿qué sucede si sale de JMP y lo reinicia?
Re: Col Sum hace referencia a la tabla de datos incorrectaGran idea... Así que he ejecutado el siguiente código:
Nombres predeterminados aquí (1);
dt1 = Abrir ("$ SAMPLE_DATA / Big Class.jmp");
dt2 = Abrir ("$ SAMPLE_DATA / Fitness.jmp");
num_tall = Col Sum (dt1: altura> 65);
show (num_tall);
Esta es la salida:
Nombres predeterminados aquí (1);
dt1 = Abrir ("$ SAMPLE_DATA / Big Class.jmp");
dt2 = Abrir ("$ SAMPLE_DATA / Fitness.jmp");
num_tall = Col Sum (dt1: altura> 65);
show (num_tall);
/ *:
num_tall = 4;
Luego, cuando hago clic en la tabla Big Class (llevándola a la vanguardia), obtengo:
num_tall = Col Sum (dt1: altura> 65);
show (num_tall);
/ *:
num_tall = 9;
Cuál es la respuesta correcta.
¿Hay algún problema con mi configuración o es solo la forma en que JSL está diseñado?
Re: Col Sum hace referencia a la tabla de datos incorrectaTambién puedes probar este código en su lugar:
Names Default to Here( 1 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Fitness.jmp" );
n ht over 60 = Sum( (Column( dt1, 4 ) << Get As Matrix) > 60 );
Re: Col Sum hace referencia a la tabla de datos incorrecta¿Por qué no te alejas del problema original y tratas algo más simple? Por ejemplo, con diferentes valores en cada tabla de datos, intente hacer referencia a una sola ubicación para ver qué valor se devuelve. Por ejemplo,
Names Default to Here( 1 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Fitness.jmp" );
value = Column( dt1, 4 )[2]; // second row of :height in Big Class?
Show( value );
Parece estar funcionando.
Re: Col Sum hace referencia a la tabla de datos incorrectaGracias por responder.
Tengo el mismo problema.
Sé que la respuesta para un ejemplo en particular es n_out = 3. En mi pantalla veo dt1 en segundo plano cuando se abrió primero, y luego dt2 sobre eso. Cuando ejecuto esta línea de código obtengo n_out = 0. Pero si hago clic en la tabla dt1 (llevándola al frente de mi pantalla) y luego ejecuto el código nuevamente, obtengo n_out = 3.
Por eso creo que el problema está en hacer referencia a la tabla incorrecta.
Re: Col Sum hace referencia a la tabla de datos incorrectaTambién he intentado lo siguiente:
n_out = Col Sum (NO (dt1: STATUS == "1"))
y todavía no funciona.
Sé que la respuesta para un ejemplo en particular es 3. En mi pantalla veo dt1 en segundo plano cuando se abrió primero, y luego dt2 sobre eso. Cuando ejecuto esta línea de código obtengo n_out = 0. Pero si hago clic en la tabla dt1 (llevándola al frente de mi pantalla) y luego ejecuto el código nuevamente, obtengo n_out = 3.
Por eso creo que el problema está en hacer referencia a la tabla incorrecta.
Re: Col Sum hace referencia a la tabla de datos incorrectaPrueba este formulario y ve si funciona
n_out = Col Sum( dt1:STATUS != "1");
Re: Col Sum hace referencia a la tabla de datos incorrectaBasado en su descripción, eso suena como que definitivamente no debería estar sucediendo. No veo ningún problema en su código. Puede ser un buen momento para llamar al soporte técnico de JMP.