Re: Cómo guardar los coeficientes de correlación de Spearman directamente en la tabla de datos JMP (scripting, JSL)Hola,
¿Esto lo hace?
dt = Open("$SAMPLE_DATA/Body Measurements.jmp");
dt_2 = dt << Multivariate(
Y(
:Name( "Mass" ),
:Name( "Fore" ),
:Name( "Bicep" ),
:Name( "Chest" )
),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( 0 ),
Spearman's ρ(1)
);
report(dt_2)
[Outline Box("Correlations")][1, 1] << make into data table;
Report( dt_2 )
[Outline Box( "Nonparametric: Spearman's ρ" )][Table Box( 1 )] <<
Make Into Data Table;Re: Cómo guardar los coeficientes de correlación de Spearman directamente en la tabla de datos JMP (scripting, JSL)Nos estamos acercando. Me alegro de haberme enterado de las opciones del "Cuadro de esquema".
Desafortunadamente, la forma de la matriz de salida es "triangular", no "cuadrada" (según sea necesario; también faltan los 1.0s "diagonales" debido a esto).
¿Es fácil llegar allí?
Re: Cómo guardar los coeficientes de correlación de Spearman directamente en la tabla de datos JMP (scripting, JSL)Hola agian
Tomó un poco de manipulación, pero vea si puede hacer que esto funcione para usted:
dt = Open("$SAMPLE_DATA/Body Measurements.jmp");
dt_2 = dt << Multivariate(
Y(
:Name( "Mass" ),
:Name( "Fore" ),
:Name( "Bicep" ),
:Name( "Chest" )
),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( 0 ),
Spearman's ρ(1)
);
report(dt_2)
[Outline Box("Correlations")][1, 1] << make into data table;
dt_spearman=Report( dt_2 )
[Outline Box( "Nonparametric: Spearman's ρ" )][Table Box( 1 )] <<
Make Into Data Table;
variables={"Mass","Fore","Bicep","Chest"};
For(i=1,i<=4,i++,
dt_spearman<<ADD rows=""></ADD>Re: Cómo guardar los coeficientes de correlación de Spearman directamente en la tabla de datos JMP (scripting, JSL)En términos generales: Sí, es la matriz cuadrada. Has hecho un trabajo impresionante, en serio.
Desde un punto de vista técnico: esto no puede funcionar para mí: necesito estas matrices de Spearman para varios conjuntos de datos con cientos de campos.
Simplemente no puedo cambiar manualmente de triangular a cuadrado cada vez. Necesito pensar en otra cosa.
@HadleyMyers escribió:
Hola agian
Tomó un poco de manipulación, pero vea si puede hacer que esto funcione para usted:
dt = Open("$SAMPLE_DATA/Body Measurements.jmp");
dt_2 = dt << Multivariate(
Y(
:Name( "Mass" ),
:Name( "Fore" ),
:Name( "Bicep" ),
:Name( "Chest" )
),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( 0 ),
Spearman's ρ(1)
);
report(dt_2)
[Outline Box("Correlations")][1, 1] << make into data table;
dt_spearman=Report( dt_2 )
[Outline Box( "Nonparametric: Spearman's ρ" )][Table Box( 1 )] <<
Make Into Data Table;
variables={"Mass","Fore","Bicep","Chest"};
For(i=1,i<=4,i++,
dt_spearman<<ADD rows=""></ADD>
Re: Cómo guardar los coeficientes de correlación de Spearman directamente en la tabla de datos JMP (scripting, JSL)¿Sería posible generalizar mi script, o partes de él, para que pueda usarse con sus conjuntos de datos? Si puede publicar uno de sus conjuntos de datos después de anonimizar los datos (Tabla -> Anonimizar) y crear el script multivariante, ¿tal vez podamos resolver algo?
Re: Cómo guardar los coeficientes de correlación de Spearman directamente en la tabla de datos JMP (scripting, JSL)dt <SPAN class="token operator">=</SPAN> <SPAN class="token function">Open</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token string">"$SAMPLE_DATA/Body Measurements.jmp"</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Tengo una mejor idea. ¿Puede tal vez generalizar su enfoque a todas las columnas en el conjunto de datos "Mediciones corporales" (vea el enlace de arriba)?
Si queremos ser en negrita, podríamos pretender que la primera columna es una ID que queremos omitir ... Esa sería la guinda del pastel ...
Re: Cómo guardar los coeficientes de correlación de Spearman directamente en la tabla de datos JMP (scripting, JSL)Creo que esto debería hacerlo:
dt = Open("$SAMPLE_DATA/Body Measurements.jmp");
colnameslist=dt<<GET column="" names=""></GET>Re: Cómo guardar los coeficientes de correlación de Spearman directamente en la tabla de datos JMP (scripting, JSL)Fantástico
Aquí algunos consejos para usuarios interesados:
JMP calcula correlaciones solo para campos retenidos. Consecuencias de las columnas de caracteres guardadas accidentalmente:
(1) diferentes estructuras: la matriz de Spearman mantiene columnas de caracteres; La matriz de Pearson los filtra automáticamente
(2) Valores perdidos: Spearman no calcula los coeficientes pero coloca los valores perdidos
(3) Orden de columnas: Pearson: como en el conjunto de datos original, Spearman: alfabético.
Cómo guardar los coeficientes de correlación de Spearman directamente en la tabla de datos JMP (scripting, JSL)Hola,
He escrito un pequeño programa que calcula y guarda los coeficientes de Pearson directamente en una tabla JMP.
¿Puedes ayudar a adaptarlo para guardar los coeficientes de Spearman de la misma manera? La opción "Spearman" no tiene ningún efecto en el almacenamiento ... una de las muchas opciones que probé hasta ahora ...
Gracias
dt = Abrir ("$ SAMPLE_DATA / Body Measurements.jmp"); dt_2 = dt << Multivariante (Y (: Name ("Mass"),: Name ("Fore"),: Name ("Bicep"),: Name ("Chest")), Método de estimación ("Row-wise" ), Formato de matriz ("Cuadrado"), Matriz de diagrama de dispersión (0), Spearman ρ (1)); dt_2 = report (dt_2) [Cuadro de esquema ("Correlaciones")] [1, 1] << convertir en tabla de datos; dt_2 << guardar ("C: \ .... \ Spearman.jmp");