¿Cómo evaluar una matriz sobre la marcha?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Estoy seguro de que hay una respuesta simple a este problema, pero no puedo resolverlo. Estoy tratando de calcular la distancia entre dos objetos utilizando una matriz de distancia. No consigo que el siguiente código JSL funcione:
dt = Abierto (dist matrix.jmp);
m = dt << Obtener todas las columnas como matriz ();
dt2 = Abierto (students.jmp);
col = Columna ("Prefecto No");
B = col << Getasmatrix;
n = nrow (dt2);
a = j (n, 1,0);
para (i = 1, i <= n, i ++, a = m [b , 4]);
muestra (a);
Sigo recibiendo un error al evaluar m [,]. Intenté Eval y otras cosas, pero no funciona.
¿Alguien puede ayudar?
Re: ¿Cómo evaluar una matriz sobre la marcha?Guardé mi conjunto de datos de nuevo a Excel y lo devolví a JMP. Ahora que el conjunto de datos cuando se convierte en una matriz está en el orden correcto. Debo haber restablecido el orden predeterminado de las columnas cuando lo volví a crear en JMP. Así que ahora todo funciona. Gracias por la ayuda.
Re: ¿Cómo evaluar una matriz sobre la marcha?¿Tienes un ejemplo de conjunto de datos? Tuve uno y probé el siguiente código, y tenía el orden correcto. Sin embargo, reemplazó los valores de los caracteres con '1', que está en la línea de lo que yo esperaría.
dt = tabla de datos actual ();
m = dt << Obtener todas las columnas como matriz ();
mostrar M);
Re: ¿Cómo evaluar una matriz sobre la marcha?Me di cuenta de cuál era el error principal. Algunas de las filas tenían valores faltantes y cuando JMP intentó evaluar el subíndice faltante, bombardeó. Así que utilicé el siguiente código:
para ( yo = 1 , yo <= norte , yo ++, Si (( no ( Está perdido ( UNA El yo ]))) , do El yo ] = metro El UNA El yo ] , 8 ] , do El yo ] = . )) ;
Funciona bien.
Ahora mi único problema es que cuando uso
m = dt << Obtener todas las columnas como matriz ();
La matriz m posterior no está en el orden en que la tengo en el conjunto de datos. Así que tratando de averiguar cómo mantener el orden original. ¿Algunas ideas?