Seleccione dónde y subconjunto según el valor de la celdaHola,
Tengo el siguiente código donde quiero que obtenga los nombres de columna del archivo y luego cree una nueva tabla de subconjuntos, seguido de la búsqueda de la media y el SD de todas las columnas numéricas. El código Mean y SD funciona pero no está creando la tabla de subconjuntos en absoluto. ¿Algunas ideas? He comprobado esto en todas las discusiones publicadas. He intentado ambas condiciones, Comienza y Contiene
Aquí está el archivo de muestra:
| Número de serie |
Código |
Zona |
Altura |
Peso |
Años |
| 1 |
55414 |
Minneapolis N |
|
|
|
| 2 |
55455 |
Minneapolis S |
|
|
|
| 3 |
4446804e |
Minneapolis E |
|
|
|
| 4 4 |
4389568 |
Minneapolis W |
|
|
| 5 5 |
g58934 |
San Pablo N |
|
|
|
| 6 6 |
4989034 |
San Pablo E |
|
|
|
| 7 7 |
3496f |
San Pablo |
|
|
|
| 8 |
5404390sfd |
Minneapolis E |
|
|
|
| 9 |
43960 |
Minneapolis N |
|
|
|
| 10 |
569043 |
San Pablo N |
|
|
|
| 11 |
6590549 |
San Pablo E |
|
|
|
dt3 = Open( "file_28.jmp" );
colcmp = "Area";
col = dt3 << get column names( string );
nc = N Items( col );
Show( nc );
For( j = 1, j <= nc, j++,
colname = Column( j ) << Get Name;
Show( colname );
If( Contains( colname, colcmp ),
dt3 << Select Where( Starts With( :colname, "Minneapolis" ) );
dt3 << Subset( Output Table Name( "MPLS" ), Selected Rows( 1 ), Selected columns only( 0 ) );
dt3 << Select Where( Starts With( :colname, "St. Paul" ) );
dt3 << Subset( Output Table Name( "STP" ), Selected Rows( 1 ), Selected columns only( 0 ) );
);
);
dtPM = Data Table( "MPLS" );
a = "Numeric";
colPM = dtPM << get column names( string );
ncPM = N Items( colPM );
Show( ncPM );
For( k = 1, k <= ncPM, k++,
colname = Column( k ) << Get Name;
Show( colname );
which = dtPM:colname << Get Data Type;
Show( which );
If( Contains( which, a ),
count = count + 1;
colnames2[count] = colname || "_MPLS";
Mean1[count] = Col Mean( :Column( k ) );
Std1[count] = Col Std Dev( :Column( k ) );
Show( Mean1[count] );
);
);
ScriptingRe: Seleccione dónde y subconjunto en función del valor de la celdaLe está diciendo a JMP que busque una columna llamada: colname. En esta referencia, JMP no evaluará la referencia de columna más allá de: colname. Lo que debe hacer es especificar el nombre en una función As Column (). Entonces funcionará
For( j = 3, j <= nc, j++,
colname = Column( j ) << Get Name;
Show( colname );
If( Contains( colname, colcmp ),
dt3 << Select Where( Starts With( as column(colname), "Minneapolis" ) );
dt3 << Subset( Output Table Name( "MPLS" ), Selected Rows( 1 ), Selected columns only( 0 ) );
dt3 << Select Where( Starts With( as column(colname), "St. Paul" ) );
dt3 << Subset( Output Table Name( "STP" ), Selected Rows( 1 ), Selected columns only( 0 ) );
);
);
Re: seleccione dónde y subconjunto según el valor de la celdaGracias Jim. Estaba teniendo confusión sobre cómo pasar variables que almacenan nombres de columnas a funciones y realmente no pude encontrar ejemplos. Esto borró el error.