在JMP中使用多個比較進行表更新我有一個大表,有一列均勻的[0,1]隨機數。我有另一列將每行歸類為屬於SLOW或BUSY時間段。我有一個包含21行和3列的第二個表,其中一列對應於SLOW,第二列對應BUSY。這些列包含0-1的bin邊緣,分成連續的升序箱。第三列包含一個值。
對於第一個表中每行的第1列中的INPUT值以及Column3中的相應條目(SLOW或BUSY),我首先要選擇第二個表中的(SLOW或BUSY)列。然後我需要找到列中的條目(選中緩慢或忙碌) 在第二個表中,下一個條目大於INPUT值。然後我需要在表1中形成一個新列,以包含第二個表中第3列的bin號的值。
在附件中,Table1是第一個“大”表,其中BUSY和SLOW表示忙碌和慢速時段。Traffic_CDF包含兩列bin邊,第三列包含要添加到Table1中新列的值。
這是一個例子。
表1中的第6項是0.405374並且是BUSY。該值介於表2的BUSY列的第2行和第3行中的條目之間。因此,我想將表2第3列的值'2'輸入表1中新列的第6行。
如果有人能幫忙解決這個問題,我將不勝感激
謝謝
謝謝
Re:在JMP中使用多重比較進行表更新試試這個:
dt_1 = Data Table("Table 1");
dt_cdf = Data Table("Traffic_CDF");
dt_1 << New Column("Bin");
for(i = 1, i<= N Row(dt_1), i++,
value = Column(dt_1,"Random No.")[i];
traffic_val = dt_1:Traffic[i];
If(traffic_val == "BUSY",
dt_1:Bin[i]=dt_cdf:Column 3[min(dt_cdf << Get Rows Where(:BUSY >= value))],
dt_1:Bin[i]=dt_cdf:Column 3[min(dt_cdf << Get Rows Where(:SLOW >= value))],
)
);它基本上是通過找到CDF表中第一行,其中bin邊緣大於或等於第一個表中的值,並返回該行的“Column 3”中的值。
Re:在JMP中使用多重比較進行表更新您對我的數據文件的觀察是正確的。我已經編輯了帖子以更好地解釋它,並且還上傳了正確描述bin-edge的正確CDF表,而不是我錯誤上傳的PDF。Re:在JMP中使用多重比較進行表更新我錯誤地上傳了PDF表而不是正確的表。我已經替換了第二個表。它現在是一個與bin邊緣對應的CDF表。我還試圖通過一個我想做的例子來更清楚地解決問題描述。非常感謝您的幫助。我沒有查詢或JSL的經驗,如果它是它需要的。希望它能以某種方式與JMP一起使用。
謝謝
Re:在JMP中使用多重比較進行表更新你好 @ranjan_mitre_or ,
我很困惑你想如何將表1中的隨機#與Traffic_PDF中的bin相匹配。 最大的問題是我無法看到Traffic_PDF如何代表垃圾箱。 我希望這些數字對它們有一些排序,以便任何小於或等於最小數字的數字將在bin 1中,bin 2中最小和第二最小數字之間的任何數字等。 Traffic_PDF甚至在第2列中有幾個重複的數字。
你能提供任何澄清嗎?
例如,表1中的第1行的值為0.966434732312337,Traffic = H.這告訴我應該查看Traffic_PDF的第2列,但是我沒有看到如何將表1中的值映射到Traffic_PDF中的“bin” 。