Cálculo de pendiente e intersección en JSL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tengo una tabla de datos donde los puntos de datos (tanto y como x) para el cálculo de la pendiente están en columnas no contiguas y necesito calcular la pendiente y los datos de intercepción para cada fila. ¿Hay alguna manera de hacer esto en JMP? Intenté hacerlo en Excel, pero la función Slope no funciona, debido a que las y y las x están en columnas no contiguas.
Para ilustrar el problema, en la tabla de datos de muestra adjunta, necesito la pendiente de (altura1, altura2, ...) contra (peso1, peso2, ...) calculada para cada fila. Tengo la intención de construir una columna con datos de pendiente
Agradecería cualquier idea o sugerencia.
¡Gracias!
Re: Cálculo de pendiente e intersección en JSLAsí es, está profundizando en las estimaciones de parámetros y no encontrará el RSquare allí. El resumen de ajuste se encuentra en el mismo nivel en el árbol, así que use una llamada separada en lugar de bajar y volver a subir.
No creo que sea posible obtener parámetros y resumen de ajuste en la misma tabla con un solo comando. Haz dos tablas y luego hay varias formas de juntar los datos.
Prueba esto:
//Apilar con opción de serie múltiple
dt_apilado = Tabla de datos ( "Ejemplo-2.jmp" ) << Pila (
columnas ( : altura , : peso , : altura1 , : peso1 , : altura2 , : peso2 ) ,
Columna de etiqueta de origen ( "Etiqueta" ) ,
Columna de datos apilados ( "Datos" ) ,
Número de serie ( 2 )
) ;
//Ajustar todas las pendientes
vivac = dt_apilado << bivariado ( Y ( : Datos 2 ) , X ( : Datos ) , Agrupar por ( : Temp1 2 ) , línea de ajuste ( 1 ) ) ;
//Convertir en tablas de datos
tabla pendiente = Informe ( vivac )[ Cuadro de esquema ( "Estimaciones de parámetros" )][ 1 ] << hacer una tabla de datos combinados ;
R2tabla = Informe ( vivac )[ Cuadro de esquema ( "Resumen de ajuste" )][ 1 ] << hacer una tabla de datos combinados ;
// Divida la tabla para obtener la pendiente y la intercepción en la misma fila, luego agregue una columna con valores R2
resultados = tabla pendiente << Dividir (
Dividir por ( : Término ) ,
Dividir ( : Estimar ) ,
Grupo ( : X , : Y , : Temp1 2 ) ,
Columnas restantes ( Soltar todo )
) ;
resultados << Nueva columna ( "R2" ,
numérico ,
establecer valores (
Columna ( R2tabla , "Columna 2" )[ R2tabla << obtener filas donde (
Columna ( R2tabla , "Columna 1" )[] == "R Plaza"
)]
)
) ;
// Cerrar ventanas intermedias
Cerca ( dt_apilado , tabla pendiente , R2tabla , sin guardar ) ;
Re: Cálculo de pendiente e intersección en JSLEM,
¡Gracias por la ayuda!
Tengo una pregunta de seguimiento. ¿Hay una manera fácil de combinar RSquare (solo) de 'Resumen de ajuste' junto con la pendiente y la intersección? Probé el siguiente comando, pero parece que una vez que baja una capa del contorno, no puede volver a subir un nivel a los nodos del contorno.
Slopetable = Report( biv )[Cuadro de esquema( "Estimaciones de parámetros" )][1][Cuadro de esquema( "Resumen de ajuste" )][1] << hacer una tabla de datos combinados;
¡Gracias!
Re: Cálculo de pendiente e intersección en JSLLas fórmulas matriciales podrían resolverlo de manera muy eficiente. Pero si nos quedamos con el Ajustar Y por X plataforma las columnas deben apilarse antes del análisis. Para su tabla de ejemplo, este código apila las columnas, ajusta las líneas y luego transfiere todas las pendientes e intercepta a una nueva tabla (que se puede unir con la tabla de datos original si lo desea):
//Apilar con opción de serie múltiple
dt_apilado = Tabla de datos ( "Ejemplo-2.jmp" ) << Pila (
columnas ( : altura , : peso , : altura1 , : peso1 , : altura2 , : peso2 ) ,
Columna de etiqueta de origen ( "Etiqueta" ) ,
Columna de datos apilados ( "Datos" ) ,
Número de serie ( 2 )
) ;
//Ajustar todas las pendientes
vivac = dt_apilado << bivariado ( Y ( : Datos 2 ) , X ( : Datos ) , Agrupar por ( : Temp1 2 ) , línea de ajuste ( 1 ) ) ;
//Convertir en tabla de datos
tabla pendiente = Informe ( vivac )[ Cuadro de esquema ( "Estimaciones de parámetros" )][ 1 ] << hacer una tabla de datos combinados ;
// Divide la tabla para obtener la pendiente y el intercepto en la misma fila
tabla pendiente << Dividir (
Dividir por ( : Término ) ,
Dividir ( : Estimar ) ,
Grupo ( : X , : Y , : Temp1 2 ) ,
Columnas restantes ( Soltar todo )
) ;
Re: Cálculo de pendiente e intersección en JSLHola MS,
Tengo más de 2 puntos involucrados.
Re: Cálculo de pendiente e intersección en JSLSi solo hay dos puntos involucrados, la pendiente se puede calcular para cada fila mediante la fórmula (:altura2 - :altura1) / (:peso2 - :peso1).
Re: Cálculo de pendiente e intersección en JSLMatt, gracias por la respuesta, pero eso no es lo que quería.
Se adjunta una tabla de datos de ejemplo para ilustrar. Necesito la pendiente de (altura1, altura2) contra (peso1, peso2) calculada para cada fila. Tengo la intención de construir una columna de datos de pendiente.
Gracias,
Ravi
Re: Cálculo de pendiente e intersección en JSL// Un camino...
dt = Abrir("$Sample_Data/Big Class.jmp");
dt << Creador de gráficos(
Mostrar panel de control(0),
Variables( x( :peso ), Y( :altura ),
Elementos(
Puntos (X, Y, Leyenda (1), Jitter (1),
Línea de ajuste (
X,
Y,
Leyenda( 5 ),
Confianza de ajuste ( 1 ),
Confianza de predicción ( 0 ),
Grado( "lineal"),
Ecuación( 1 ),
Error cuadrático medio de la raíz (0)
)
)
);