<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我發現使用dt << set row states(單列矩陣)函數比使用更傳統的ForEachRow(Rowstate()= Colorstate(LevelColor(Row(),n_groups,“JMP Light”))快得多))) ,所以我想用它。 但是,為了做到這一點,腳本編寫者需要直接構建單列矩陣(此處稱為“rscode”)。 根據JMP腳本指南,矩陣以下列方式確定行狀態:
rscode
=
選擇的(R)+
2 *排除(R)+
4 *隱藏(R)+
8 *標記的(R)+
(r)+的16 *標記
(r)的256 *顏色;
我從2010年開始閱讀Erin Vang關於如何設置標記值的博客文章(她討論瞭如何將unicode字符作為標記包含在內),但我還沒有找到對顏色的等效討論。 我遇到的問題是“顏色”函數返回的數字不是有效的顏色狀態,而是負數。理想情況下,我想要做的是使用內置的顏色主題,如“Spectral”和“JMP Default”,而不是自己創建一個。 所以我希望能夠使用ColorOf(ColorState())來設置行狀態矩陣中的值。
現在,在虛擬表中設置顏色狀態並使用(dt << Get Row States)/ 256命令,獲得顏色索引的向量,但這些不是整數。 我的一個問題是如何計算非整數部分?
例如,創建一個虛擬表,設置其colorstates,然後查看輸出向量的條目(包含來自JMP顏色表0-84的索引)與ColorOf(...)函數之間的不一致性,該函數給出負數,許多其中很大。 這個或我缺少的任何功能有任何模式嗎?請注意,blah!= blah2和生成的表顏色非常不同。
dt =新表(“測試”,
添加行(100),
新欄目(“col1”,
數字,
連續,
格式(“最佳”,10),
式(行())
)
);
ForEachRow(
RowState()=
ColorState(HeatColor(行()/ NROWS(DT),<<“噴射”))
);
blah =(dt << GetRowStates)/ 256;
blah2 = J(NRows(dt),1,0);
ForEachRow(顯示(blah2 [Row()] = COlorOf(RowState())));
DT << SetRowStates(blah2 * 256)
/ *
blah =
[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,4200.00915501732,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]; * /