<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Descubrí que usar la función dt << set row states (matriz de una sola columna) es mucho más rápido que usar ForEachRow (Rowstate () = Colorstate (LevelColor (Row (), n_groups, "JMP Light"))) , y por eso me gustaría usarlo. Sin embargo, para hacer esto, el guionista necesita construir la matriz de una sola columna (aquí llamada "rscode") directamente. De acuerdo con la guía de scripts JMP, la matriz determina los estados de las filas de la siguiente manera:
rscode
=
seleccionado (r) +
2 * excluido (r) +
4 * oculto (r) +
8 * etiquetado (r) +
16 * marcador de (r) +
256 * color de (r);
He leído la publicación del blog de Erin Vang de 2010 sobre cómo establecer los valores de los marcadores (ella habló sobre cómo incluir caracteres Unicode como marcadores), pero todavía no he encontrado una discusión equivalente para los colores. El problema que tengo es que la función "color de" devuelve números que no son estados de color válidos, sino números negativos. Idealmente, lo que quiero hacer es usar los temas de color incorporados como "Espectral" y "Predeterminado de JMP" en lugar de tener que crear uno por mi cuenta. Así que me gustaría poder usar ColorOf (ColorState ()) para establecer los valores en la matriz de estado de la fila.
Ahora, al configurar los estados de color en una tabla ficticia y al usar el comando (dt << Get Row States) / 256, se obtiene un vector de índices de color, sin embargo, estos no son enteros. Una de mis preguntas es ¿cómo se calculan las partes no integrales?
Por ejemplo, cree una tabla ficticia, establezca sus estados de color y luego vea la inconsistencia entre las entradas del vector de salida (que contiene índices de la tabla de colores 0-84 de JMP) y la función ColorOf (...) que da números negativos, muchos de los cuales son grandes. ¿Hay algún patrón para esto o alguna función que me esté perdiendo? Tenga en cuenta que blah! = Blah2 y los colores de la tabla resultantes son muy diferentes.
dt = Nueva tabla ("prueba",
Añadir filas (100),
Nueva columna ("col1",
Numérico,
Continuo,
Formato ("Mejor", 10),
Fórmula (Fila ())
)
);
Por cada fila(
RowState () =
ColorState (HeatColor (Fila () / NRows (dt), << "Jet"))
);
blah = (dt << GetRowStates) / 256;
blah2 = J (NRows (dt), 1,0);
ForEachRow (Show (blah2 [Fila ()] = COlorOf (RowState ())));
dt << SetRowStates (blah2 * 256)
/ *
bla =
[53.0000000318978, 53.0000000342261, 53.0000000367872, 53.0000000391155,
53.0000000414439, 53.0000000437722, 53.0000000463333, 53.0000000486616,
53.0000000509899, 21.0000000533182, 21.0000000558794, 21.0000000582077,
21.000000357395, 21.0000009534415, 21.0000015494879, 21.000002205139,
21.0000028011855, 21.0000033972319, 21.0000039932784, 21.0000045893248,
21.0000051853713, 5.00000584102236, 5.00000643706881, 5.00000703311525,
5.0000076291617, 13.0000082252081, 13.0000088212546, 45.0000094769057,
45.0000100729521, 45.0000106689986, 45.000011265045, 45.0000119206961,
45.0000125167426, 45.000013112789, 42.0000137088355, 42.0000143644866,
42.000014960533, 42.0000915501732, 42.0002441336401, 71.0003967175726,
71.0005645607598, 71.0007171453908, 71.0008697302546, 71.001022315817,
68.0011749016121, 68.0013274876401, 68.0014953331556, 68.0016479198821,
68.0018005073071, 68.0019530949649, 68.0019683514256, 68.0019988666754,
68.0020751582924, 68.0021514496766, 76.0022735176608, 76.0024108444341,
76.0025634299964, 76.0027617919259, 76.0029754126445, 76.0032042919193,
41.003463689005, 41.0037536036689, 41.0039058923721, 41.0039052963257,
41.0039046406746, 41.0039040446281, 9.0039034485817, 9.00390285253525,
9.00390219688416, 9.00390160083771, 9.00390100479126, 6.00390040874481,
6.00389975309372, 6.00389915704727, 6.00389856100082, 6.00389796495438,
6.00389736890793, 6.00389677286148, 6.00389611721039, 6.00389552116394,
6.00389492511749, 6.00389432907105, 3.0038937330246, 19.0038931369782,
19.0038924813271, 19.0038918852806, 19.0038912892342, 19.0038146972656,
19.003662109375, 19.0034942626953, 19.0033416748047, 19.0031890869141,
19.0030364990234, 51.0028686523438, 51.0027160644531, 51.0025634765625,
51.0024108886719, 51.0022430419922, 51.0020904541016, 51.0019378662109];
blah2 =
[-137, -147, -158, -168, -178, -188, -199, -209, -219, -229, -240, -250, -1535, -
4095, -6655, -9471, -12031, -14591, -17151, -19711, -22271, -25087, -27647, -30207,
-32767, -35327, -37887, -40703, -43263, -45823, -48383, -51199, -53759, -56319, -
58879, -61695, -64255, -393205, -1048546, -1703889, -2424770, -3080116, -3735463,
-4390813, -5046164, -5701516, -6422407, -7077762, -7733120, -8388479, -8454005, -
8585067, -8912737, -9240406, -9764684, -10354498, -11009848, -11861806, -12779300,
-13762329, -14876431, -16121605, -16775680, -16773120, -16770304, -16767744, -
16765184, -16762624, -16759808, -16757248, -16754688, -16752128, -16749312, -
16746752, -16744192, -16741632, -16739072, -16736512, -16733696, -16731136, -
16728576, -16726016, -16723456, -16720896, -16718080, -16715520, -16712960, -
16384000, -15728640, -15007744, -14352384, -13697024, -13041664, -12320768, -
11665408, -11010048, -10354688, -9633792, -8978432, -8323072]; * /