Diferencia de columna- Sintaxis JSLHola a todos,
¿Cómo acceder a los contenidos de una columna por la referencia de la columna? Como los nombres de mis columnas siguen cambiando con cada bucle en el script, no puedo simplemente usar el nombre de la columna para restar.
dt es mi tabla de datos y tiene 30 columnas. Quiero crear una nueva columna con dt [28] - dt [30].
¿Puede alguien ayudarme con la sintaxis?
Realmente lo aprecio. Gracias.
Re: Diferencia de columna- Sintaxis JSLEste ejemplo muestra cómo se pueden usar las variables para definir columnas dinámicamente cuando 1) usando la notación matricial para las tablas en JMP 13 o 2) configurando una fórmula.
dt = New Table("Table Subscripting",
New Column("a", Set Values([1 2 3 4 5])),
New Column("b", Set Values([44 22 77 55 99])),
New Column("c", Set Values([59, 58, 57, 56, 55]))
);
startCol = 1;
endCol = N Col(dt);
// New column with the diff between endCol and startCol can be filled
// 1) with static values using matrix notation (JMP 13),
dt << New Column("Delta");
dt[0, endCol + 1] = dt[0, endCol] - dt[0, startCol];
// 2) or by a Column Formula
// (expression must partly be pre-evaluated if variables are used)
F = Eval Expr(Expr(Column(endCol))[] - Expr(Column(startCol))[]);
dt << New Column("Delta2", Formula(Name Expr(F)));Re: Diferencia de columna- Sintaxis JSLHola, Mark,
Al parecer, no puedo usar esta sintaxis de
dt << Nueva Columna ("Delta",
Numérico,
Fórmula (Columna (dt, startcol) - Columna (dt, endcol))
);
startcol = 28 (que se deriva después de una columna particular)
y endCol = ncols (dt);
Dado que la cantidad de columnas de mis tablas de datos sigue cambiando después de cada ciclo, no puedo usar un número. ¿Hay alguna otra manera?
Re: Diferencia de columna- Sintaxis JSL¿Implica 4 automáticamente que es el final de la tabla? Dado que las columnas de la tabla de datos siguen cambiando, ¿puedo usar
dt [1 :: nrow (dt), endcol + 1] = dt [1 :: nrow (dt), startcol] - dt [1 :: nrow (dt), endcol];
donde endCol = ncols (kdt); y startcol = 28 (esto se deriva después de una columna particular)
Estoy tratando de hacer que todo sea dinámico.
No creo que esto funcione. ¿Qué piensas de esto, Melanie?Re: Diferencia de columna- Sintaxis JSLAdemás, si está ejecutando JMP 13, puede realizar subíndices en una tabla de datos usando dt [fila, columna], y puede usar rangos (1 :: 4).
Aquí hay un breve ejemplo que agrega una nueva columna y establece sus valores en la columna 3, columna 1:
dt = New Table( "Table Subscripting",
New Column( "a", Set Values( [1 2 3 4 5] ) ),
New Column( "b", Set Values( [44 22 77 55 99] ) ),
New Column( "c", Set Values( [59, 58, 57, 56, 55] ) )
);
dt << New Column( "new column" );
dt[1::nrow(dt), 4] = dt[1::nrow(dt), 3] - dt[1::nrow(dt), 1];
Re: Diferencia de columna- Sintaxis JSLHay más de una forma de referirse a una columna:
- :nombre
- Columna ("nombre")
- Columna (referencia de la tabla de datos, "nombre")
- Columna (índice)
- Columna (referencia de tabla de datos, índice)
Sospecho que las dos últimas formas basadas en la función Column () serán útiles en su caso.