JSL - Combinar columnas de una tabla para una funciónEstoy tratando de aplicar una función a varias columnas al mismo tiempo, y estoy luchando para averiguar cómo hacer esto.
Supongamos que una tabla tiene "Columna 1" y "Columna 2" y quiero calcular un cuartil de los datos combinados, esencialmente quiero apilar la columna 1 en la parte superior de la columna 2, diga algo como esto:
q1 = Col cuartil ({: Columna 1,: Columna 2}, 0.25);
Esto no funciona.. Pero parece que hay una solución simple ... ¿Algún consejo o solución?
¡Gracias de antemano!
Puntilla
Re: JSL - Combinar columnas de una tabla para una funciónEso hizo el truco! Me tomó un tiempo comprender las funciones entre el cuartil y el cuartil (¡no ayuda que las entradas se cambien!). Gracias.
PuntillaRe: JSL - Combinar columnas de una tabla para una funciónParece que está utilizando fórmulas de columna. Esta solución debería funcionar en una fórmula de columna o en un script. Supongo que su tabla de datos ya está abierta. Abrí Big Class para demostrar la solución. Debe hacer doble clic en la fórmula para poder escribir o pegar directamente el texto y luego presionar la tecla Intro.
// assume your data table is already open
// example here is Open( "$SAMPLE_DATA/Big class.jmp" );
Quantile( 0.25, (:height << Get As Matrix) |/ (:weight << Get As Matrix) );
Así que la función Quantile toma el percentil deseado (0.25 para el primer cuartil) como su primer argumento y una colección de datos (lista, matriz) como su segundo argumento. Funciona con cualquier recopilación de datos. (La función Col Quantile es una función especializada que trabaja con una columna de datos y retiene el resultado para evitar futuros cálculos redundantes). El segundo argumento aquí se forma mediante concatenación vertical (el símbolo es | / para este operador) los dos vectores de columna obtenidos de Las columnas de datos. La concatenación vertical de las matrices es equivalente a su idea de apilar columnas de datos en la tabla de datos. Puede extender esta concatentación a cualquier número de columnas.