obtener filas donde devolver matriz vacía<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tengo una tabla de datos que estoy tratando de manipular. Estoy usando la función obtener filas donde para encontrar dónde la primera columna es igual a una cadena, llamémoslo "aaa". Cuando uso el software para hacer esto, funciona bien y se seleccionan dos filas, la fila 1 y la fila 2240. Cuando intento escribir esto, el resultado es una matriz vacía.
Aquí está el script que estoy usando:
Names Default To Here( 1 );
dtx = Current Data Table();
noRows = N Rows( dtx );
ddd = dtx << Get Rows Where( Column( dtx, 1 ) == "aaa" );
y el resultado es
[](0, 1)
tenga en cuenta que esto devuelve un 1
Column( dtx, 1 ) [1] == "aaa"
¿Alguien tiene alguna idea de lo que estoy haciendo mal?
gracias de antemano
Brezo
Re: obtener filas donde devolver matriz vacíaFrío. No leí la pregunta original con suficiente atención y, de todos modos, me había olvidado del [] vacío.
Re: obtener filas donde devolver matriz vacía
dtx=open("$sample_data/big class.jmp");
c=column(dtx,3);
dtx<
Esto funcionó, gracias a ambos.
H
Re: obtener filas donde devolver matriz vacíaUna comparación de un Objeto de columna con un cadena devolverá siempre devolverá falso. En ciertos casos (¿o en general?), se le debe decir explícitamente a JMP que se refiere a una columna o a los valores de la columna (recuerdo que ha habido un buen hilo sobre esto, tal vez una pequeña diferencia confusa, pero no puedo encontrarlo ahora. ..)
Puede acceder a los datos con índices (como mostró anteriormente con Column( dtx, 1 ) [1] == "aaa"). En funciones como G et filas donde() que básicamente iteran a través de todos los valores de columna, se puede acceder a cada valor con cualquiera de los siguientes:
1) Columna ( dtx , 1 )[] == "aaa" // Tenga en cuenta los corchetes vacíos
2) como columna ( dtx , 1 ) == "aaa"
3) O más simple con dos puntos de alcance como lo mostró C Hales arriba
Re: obtener filas donde devolver matriz vacíaParece que Get Rows Where quiere un argumento más simple, pruebe uno de estos
dtx=open("$sample_data/big class.jmp");
c=column(dtx,3);
dtx<
o
dtx=open("$sample_data/big class.jmp");
dtx<
el valor devuelto de aspecto extraño, [](0, 1), es la matriz vacía de JMP de 0 filas y 1 columna.los dos ejemplos devuelven más filas, de una columna:
[1, 2, 3, 4, 5, 9, 10, 11, 16, 17, 18, 19, 20, 28, 29, 35, 36, 38]