Cómo convertir 3 columnas en una tabla@martindemel
Hola a todos,
Me comunico para obtener ayuda sobre un problema de proceso de datos. Hace algún tiempo, pude convertir 3 columnas (cargar pH, cargar NaCl, % de proteína en Load Wash) en una tabla: como fue muy útil, me gustaría hacer lo mismo con un nuevo experimento. Desafortunadamente, no recuerdo cómo lo hice antes. Puede echar un vistazo a las capturas de pantalla adjuntas para comprender mejor lo que quiero obtener.
Yo uso JMP 17.0.0.
¡Muchas gracias por adelantado!
Datos originales:

Tabla obtenida:

Análisis y modelado de datos básicosExploración y visualización de datosRe: Cómo convertir 3 columnas en una tablaSus datos de muestra no están en un formato legible; adjunte una copia de sus datos originales para ayudar a responder a su problema.
Re: Cómo convertir 3 columnas en una tablaEn "Tablas", seleccione "Resumen".
Luego configúrelo como se muestra en la captura de pantalla.
Estadísticas: media (% de proteína)
Grupo - carga NaCl
Subgrupo - carga pH
Creo que eso debería dar como resultado el formato que estás buscando.
Re: Cómo convertir 3 columnas en una tabla¡Gracias por su respuesta!
Funcionaría así, pero no puedo transferir el degradado de color (configurado en la información de la columna) a la tabla.
Estoy bastante seguro de que utilicé una forma diferente para obtener esta tabla la última vez, pero no recuerdo cómo.
Re: Cómo convertir 3 columnas en una tablaPor ejemplo, aquí me gustaría tener los diferentes valores de pH en la parte superior, los valores de NaCl a la derecha y los valores de "proporción de unión" en la tabla.
Re: Cómo convertir 3 columnas en una tablaAdemás, la última vez, el degradado de color se transfirió directamente a la tabla. Lo cual no es el caso cuando uso la función "Tablas > Resumen".
Re: Cómo convertir 3 columnas en una tablaAquí hay un script simple que transforma los datos.

Names Default To Here( 1 );
dt = Current Data Table();
// Use Tabulate to create the transformed table
(tab = dt << Tabulate(
Change Item Label( Statistics( Mean, " " ) ),
Remove Column Label( Analysis Columns( Binding proportion ) ),
Add Table(
Column Table( Grouping Columns( :pH ), Statistics( Mean ), Analysis Columns( :Binding proportion ) ),
Row Table( Grouping Columns( :"[NaCl]"n ) )
)
)) << Make Into Data Table;
Current Data Table() << set name( "Final" );
dtFinal = Current Data Table();
Report( tab ) << close window;
// change column names and set the Value Colors
valColors = dt:Binding proportion << get property("Value Colors");
For( i = 2, i <= N Cols( dtFinal ), i++,
Column( dtFinal, i ) << set name( Word( -1, Trim( Column( dtFinal, i ) << get name ), "()," ) );
Column( dtFinal, i ) << set property("Value Colors", eval(valColors));
Column(dtFinal,i)<<COLOR cell="" by="" value=""></COLOR>
No se limite a cortar y pegar este código sin tomarse el tiempo para estudiarlo y aprender lo que hace.
Re: Cómo convertir 3 columnas en una tabla¡Muchas gracias!
Entiendo cada línea pero no sé dónde debo escribir en el tema del color. Quiero usar el degradado "Amarillo Verde Rojo", así que intenté reemplazar "valColors" en la línea 22 por "Amarillo Avaricia Rojo", pero no es así.
Y cuando ejecuto el script sin cambiar nada aparece este mensaje de error:

Re: Cómo convertir 3 columnas en una tablaEl script que proporcioné se basó en tener configurada la propiedad de columna "Colores de valor".Aparentemente su tabla de datos iniciales no los tiene configurados.
Cambié el JSL para usar la propiedad de columna "Colores de degradado".También cambié el código para configurar el "Gradiente de color" en la tabla de datos inicial, por lo que ahora garantiza que cuando se crea la nueva tabla de datos, tenga lo que necesita para configurar los colores de las celdas.
Names Default To Here( 1 );
dt = Current Data Table();
// Set the color gradient column property
dt:binding proportion << set property("color gradient", {"Green Yellow Red"(1), Range( {6.2, 87.38, 25.6941666666667} )});
dt:binding proportion<<COLOR cell="" by="" value=""></COLOR>Re: Cómo convertir 3 columnas en una tablaPerfecto, muchas gracias !