Hola comunidad de JMP, espero que puedas ayudarme con este problema:
He creado un script que permite a los usuarios calcular 1x, 2x y / o 3x SD-valores para varias concentraciones de muestra con un factor dado (por ingresar). Los valores SD 1x, 2x y / o 3x se pueden elegir mediante 3 casillas de verificación. Esta primera parte funciona perfectamente.
Según la cantidad seleccionada de casillas de verificación, la tabla de datos resultante proporciona una cantidad variable de columnas que me gustaría dividir en una nueva tabla de datos.
Intenté crear un segundo script que divide la tabla de datos en función de todas las columnas SD presentes (siempre comenzando desde la columna 3) pero sin éxito. Este es mi guión hasta ahora:
Nombres predeterminados aquí (1);
dt1 = Tabla de datos ("Cálculo SD");
// Obtener lista de nombres de columnas
ColList = dt1 << Obtener nombres de columna ();
// Dividir dt1 basado en ColList
dt2 = Tabla de datos ("Cálculo SD") << Dividir (
Dividir por (: nomRP),
Dividir (ColList [3]),
Columnas restantes (soltar todo),
Ordenar por propiedad de columna
);
La tabla dividida resultante se ve así y le faltan la mayoría de los datos:

Así es como debería verse (solo puedo lograr esto especificando todos los nombres de las columnas, sin embargo, no todas las columnas estarán presentes en cada tabla (se basa en la selección del usuario):

Cuando se eligen todos los cálculos de SD (± 1-3 SD para 5 concentraciones de muestra), deben estar presentes 30 columnas.
El objetivo de mi guión:
Los valores nomRP son: 50, 71, 100, 141 y 200 y se pueden calcular valores de 1-3x SD para cada uno de esos valores nomRP. Todos los resultados calculados deben dividirse en una nueva tabla de datos. Con estos datos, quiero construir una figura en el Generador de gráficos que muestre rangos basados en los valores SD calculados.
Atentamente,
Pim.
Hola,
Creo que esta es una de esas ocasiones en las que Eval (Eval Expr (Expr ())) ayudaría.Eche un vistazo al código a continuación y vea si hace lo que espera.también aquí hay una publicación sobre este tema que explica este tipo de métodos.
Names Default to Here(1);
dt1=Data Table("SD Calculation");
//Get list of Column names
ColList=dt1<<GET column="" names=""></GET>Hadley, esto era exactamente lo que estaba buscando.
Muchas gracias y también gracias por compartir el post sobre Eval(Eval Expr(Expr())). ¡Esto será útil en mis futuras aventuras de creación de guiones!