<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola, estoy tratando de usar seleccionar dónde contar la cantidad de filas que cumplen con los criterios en 2 columnas usando un bucle for. Al comienzo de mi secuencia de comandos (no se muestra), utilizo un cuadro de diálogo para que el usuario elija 2 columnas y esto termina en una lista (collist). Luego uso una matriz asociativa en cada uno para determinar los valores únicos por columna. Un segundo cuadro de diálogo permite al usuario elegir un subconjunto de esos valores únicos por columna que termina en otra lista (poschosen). El problema con el que estoy luchando es insertar las columnas de collist en la función seleccionar dónde. He intentado varios intentos diferentes de eval, expr, eval expr, parse, etc. para tratar de insertarlos correctamente, pero parece que no puedo encontrar la forma correcta. Espero que alguien tenga un consejo.
Aquí está mi código adaptado para los Datos de muestra: Popularidad de los niños. Me gustaría reemplazar los valores (línea 14) School y Goals para que sean collist[1] y collist[2] respectivamente. De forma anticipada, muchas gracias por su ayuda Isabel
dattable=Open( "$SAMPLE_DATA/Children's Popularity.jmp" );
poschosen={"Ridge","Sand","main","stop","Popular","Grades","stop"};
stoppos={4,7}; //determine the position of the separator "stop"
Test1pos=subtract(stoppos[1],1); //determine the # of school column values chosen
Test2posStart=add(stoppos[1],1); //determine where in the list the Goals column values start
collist={"School", "Goals"};
sumpositives=0;
For (i = 1, i <= Test1pos, i++, //loop through the chosen school column values
For(f=Test2posStart, f
dattable< & Goals==Poschosen);
num_selected=nrows(dattable<
sumpositives=sumpositives+num_selected; //add the current selection count to previous count
print(sumpositives); //should be 56 in this example
); //end of inner for loop
); //end of outer for loop
Siempre he estado tratando de resolver esto, finalmente encontré este hilo. ¡Gracias!
No importa, lo acabo de descubrir. (por supuesto, justo después de publicar la pregunta, doh)... la línea 14 funciona cuando hago esto:
dattable< & as column(dattable,collist[2])==Poschosen);