Cómo guardar una columna de valores de un informe para su uso posterior<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
Estoy intentando desarrollar un script para automatizar varias tareas de análisis de datos. Una de ellas es encontrar automáticamente la distribución de un conjunto de datos y luego ejecutar una simulación con los parámetros de esa distribución.
Tengo la mayoría de las piezas en su lugar, excepto que no estoy seguro de cómo usar los parámetros que guardé de la distribución en la simulación del Analizador.
Después del código de distribución, guardo los parámetros de la siguiente manera:
parámetroOne = informe de dist El "En general YA-P20" ] [ outlinebox ( "?" || distNameOne )] [ "Estimaciones de parámetros" ] El NumberColBox ( 1 )] ;
¿Esto guardará todos los valores para toda la columna? Sé si uso ... El NumberColBox ( 1 )] [ 1 ] ; guardará la primera fila, ¿cómo guarda los valores para un número desconocido de filas?
Segunda pregunta: ¿Puedo simplemente usar esta variable "parametersOne" en el generador de perfiles como tal ...
Eval (Parse (EvalInsert ("\ [
Perfilador
Y (Columna (3)),
Perfilador
1,
Valor del término (
Nombre ("YA-P20 general") (227.01),
Nombre ("General XB-P2") (324.6375)
)
Simulador(
1,
Factores (
Nombre ("YA-P20 general") << Aleatorio (
^ distNameOne ^ ( parámetroOne )
)
Nombre ("General XB-P2") << Aleatorio (
^ distNameTwo ^ (parámetroTwo)
)
)
Respuestas (Combinado << Sin ruido)
)
)
)
] \ ")));
He intentado hacer esto sin éxito. No hay códigos de error, pero el generador de perfiles no está utilizando los parámetros correctos.
Gracias por tu ayuda y paciencia con mis habilidades de jature ams.
Re: cómo guardar una columna de valores de un informe para su uso posterior¡Genial gracias! Todo funciono
Cómo guardar una columna de valores de un informe para su uso posteriorOK, entiendo el problema Puede usar el siguiente código para crear una representación de cadena de la lista de parámetros:
mat = colBox << Get As Matrix;
strValues = "";
Para (i = 1, i <= NRows (mat), i ++,
strValues = strValues || Char (mat ) || "
);
y luego inserte esta variable en el comando:
...
Factores (altura << Aleatorio (^ dist ^ (^ strValues ^))),
...
Técnicamente, la variable strValues da como resultado una coma adicional al final de la lista. Esto podría eliminarse, pero JMP perdona las comas redundantes y el código funciona bien tal como está.
Re: cómo guardar una columna de valores de un informe para su uso posteriorHola Dave
Entiendo que todos los parámetros se almacenan en NumColBox (1), pero la razón por la que hago referencia dos veces porque estoy haciendo referencia a los parámetros de 2 informes de distribución diferentes.
Mi problema principal es que la cantidad de parámetros cambia según el tipo de distribución. Así que podría tener 1, 2 o más parámetros dependiendo de los datos (normal, Weibull, etc ...). Por lo tanto, no puedo usar el código que proporcionó anteriormente porque eso supone que siempre tendré 2 parámetros. ¿Hay alguna forma de usar los elementos dentro de la matriz de un tamaño desconocido?
Cómo guardar una columna de valores de un informe para su uso posteriorLas estimaciones de los parámetros están contenidas en el cuadro de visualización denominado NumColBox (1). Solo necesitas hacer referencia a esto una vez. El mensaje Obtener como matriz recupera todas las estimaciones de los parámetros como una sola colección. A continuación, debe hacer referencia a elementos específicos dentro de esta matriz:
Abrir ("$ SAMPLE_DATA / Big Class.jmp");
dist = Distribución (
Distribución continua (
Columna (: altura),
Distribución de ajuste (Weibull)
)
);
distR = dist << informe;
el parámetro Estimates = distR [NumberColBox (1)];
matParameters = parametersEstimates << Get As Matrix;
parámetro1 = matParameters [1];
parámetro2 = matParameters [2];
show (matParameters, parámetro1, parámetro2);
Re: cómo guardar una columna de valores de un informe para su uso posteriorGracias por la ayuda.
Ahora estoy guardando los datos correctamente como una matriz, sin embargo, cuando intento usarlos en el generador de perfiles, todavía está usando los números incorrectos ...
matrixParameterOne = parámetroOne << Obtener como matriz ;
matrixParameterTwo = parámetro dos << Obtener como matriz ;
// Ejecutar simulación
Evaluar ( Analizar gramaticalmente ( EvalInsert ( "\ [
Perfilador
Y (Columna (3)),
Perfilador
1,
Valor del término (
Nombre ("YA-P20 general") (227.01),
Nombre ("General XB-P2") (324.6375)
)
Simulador(
1,
Factores (
Nombre ("YA-P20 general") << Aleatorio (
^ distNameOne ^ (^ matrixParameterOne ^)
)
Nombre ("General XB-P2") << Aleatorio (
^ distNombreDos ^ ^ (^ matrixParameterTwo ^)
)
)
Respuestas (Combinado << Sin ruido)
)
)
)
] \ " ))) ;
¿¿Tiene alguna idea sobre esto??
Re: cómo guardar una columna de valores de un informe para su uso posteriorEn cuanto a guardar los parámetros; puede crear una referencia al cuadro de visualización y luego enviarle mensajes, por ejemplo:
Abrir ("$ SAMPLE_DATA / Big Class.jmp");
dist = Distribución (
Distribución continua (columna (: altura), distribución ajustada (normal))
);
distR = dist << informe;
colBox = distR [NumberColBox (1)];
mat = colBox << Get As Matrix;
mostrar
Para la segunda pregunta, para sustituir las variables en la evaluación, use la notación ^ nombre ^ de la misma manera que tiene para el nombre de distribución, por ejemplo
Nombre ("YA-P20 general") << Aleatorio (
^ distNameOne ^ ( ^ parámetroOne ^ )
)
-Dave