從圖表/數據表中提取數據<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我有一個數據表,繪製了下面的內容。我需要找到最接近 y=0 的點的對應 x 值。我需要交叉(最接近)零的前兩個點(紅線),第三個交叉點不感興趣。
我可以使用腳本找到最接近的值:
值=0;
d = Abs((:"col" << 取得值) - 值);
行= Loc(d == Min(d));
顯示(行);
資料表( "DT" ) << 選擇行(rows);
無論零線何時穿過,都會傳回最接近零線的值。

這兩個 x 值將作為新列進入 dt 並用於進一步計算。我使用上面的腳本是否走在正確的軌道上?
順便說一句,我是 JMP 腳本(以及一般程式設計)的新手。
謝謝!
回覆:從圖形/數據表中提取數據如果您從您所說的已計算的匯總表中獲取資料並執行 Tables==>將該資料加入到原始資料表中,那麼您可以在腳本中引用。或者,如果您手動新增數據,那就可以了。因此,如果名為“半值”的列每行都有一個“半值”值,那麼您可以將“0”變更為
半值和半值[I+1]
如果((dt:y >= dt:半值& dt:y[I+1]<=dt:半值[I+1]........................
回覆:從圖形/數據表中提取數據由於我取的是最大值的一半,因此資料表中沒有相應的資料值來匹配並取得 x 值。我這樣做是為了獲得與最大值一致的 x 值,但現在 不是匹配的值,因為它是計算值。我嘗試使用半值作為提取相應 x 值的值。與上面的腳本類似,它會取得與零交叉的值,我需要取得最接近計算的半值的值。我嘗試將半值設定為每個零件 ID 的變量,並逐步遍歷每個零件 ID 並獲取最接近半值的值:
這與上面取得最接近零的值的腳本類似,只不過它會取得最接近為每個零件 ID 計算的半值的值。
回覆:從圖形/數據表中提取數據如果我正確地解釋了您的要求,我相信獲取匯總表並在零件 ID 上進行表==>連接匹配的最簡單方法。它會將最大值新增至對應零件 ID 的每一行
回覆:從圖形/數據表中提取數據我有另一個問題。我從資料集中收集了另一個參數,並建立了一個總計表來尋找該參數的最大值。從那裡我取該值的一半並將其記錄在新列中(“半值”)。我想在腳本中使用半值來獲取每個零件 ID 的相應 x 值:

每個部件 ID 將具有不同的半值。以上是腳本中需要插入半值以獲得對應步長值的部分。我無法正確地將半值放入腳本並透過每個部件 ID 及其關聯的半值進行索引。 將正確的半值插入到每個部件 ID 的腳本中的最佳方法是什麼?
回覆:從圖形/數據表中提取數據謝謝吉姆!
這很好用。
回覆:從圖形/數據表中提取數據以下是將零件 ID 合併到混合中的程式碼的修改
名稱預設為此處( 1 ) ;
dt =目前數據表() ;
輸出=新表( “輸出” ,
新專欄( “零件編號” ,特點 ) ,
新專欄( 《第一分鐘》 ) ,
新專欄( 《第二分鐘》 )
) ;
目前數據表(dt) ;
為了( 我= 1 ,我<= N 行( ) - 1 ,我++,
// 在循環資料開始時以及部件 ID 時
// 更改時,需要將 FirstMin 和 SecondMin 值設定為
// 缺失值
如果(我== 1 ,
第一分鐘= 。 ;
第二分鐘= 。 ;,
dt :零件編號!= dt :零件 ID[i - 1 ] ,
第一分鐘= 。 ;
第二分鐘= 。 ;
) ;
// 如果發現值過零,則處理數據
如果((DT : y >= 0 & DT :義+ 1 ] <= 0 ) | (DT : y <= 0 & DT :義+ 1 ] >= 0 ) ,
如果(腹肌(DT : y ) <腹肌(DT :義+ 1 ]) ,
分分鐘= DT : y ;
米羅=我;
,
分分鐘= DT :義+ 1 ] ;
米羅=我+ 1 ;
) ;
// 如果這是第一個路口,則設定firstMin的值
如果(不見了(第一分鐘) ,
第一分鐘=分分鐘;
第一排=米羅;,
// 如果這是第二次交叉,則設定 SecondMin 的值
// 同時選擇輸入資料表中的行
// 最後將第一個和第二個結果輸出到輸出
// 資料表
// 因為我們只收集前 2 個交叉口的數據
// 並使用 FirstMin 和 SecondMin 值
// 腳本中缺少觸發器,第一次和第二次都出現過
// 最小值設定為實際值,所有後續交叉
// 將被忽略,直到偵測到零件 ID 更改
不見了(第二分鐘) ,
第二分鐘=分分鐘;
第二排=米羅;
// 指向回輸入資料表以選擇行
目前數據表(dt) ;
已選擇(行狀態( 第一排 ) ) = 1 ;
已選擇(行狀態(第二行)) = 1 ;
輸出<<新增行( 1 ) ;
輸出:零件編號[ N 行(dtout)] = dt :零件 ID[第二行] ;
輸出:第一分鐘[ N 行(dtout)] =第一分鐘;
輸出:第二分鐘[ N 行(dtout)] =第二分鐘;
) ;
) ;
) ;
回覆:從圖形/數據表中提取數據另一個問題是讓這個腳本逐步遍歷包含許多部分的表。我的資料表有3列;零件 ID、步驟、值。有許多不同的部分,每個部分都有數百個步驟。我想要為表中每個唯一的部件 ID 獲取兩個零交叉,如上所述。不確定如何取得唯一部件 ID 並插入上述腳本以獲得每個部件 ID 所需的兩個值的最佳方法?
回覆:從圖形/數據表中提取數據謝謝吉姆!
這正是我所需要的,並且按照您在帖子中描述的方式工作。我現在正在努力將收集到的數據合併到進一步的分析腳本中。
再次感謝。
回覆:從圖形/數據表中提取數據我認為解決這個問題的方法是遍歷數據,然後找到數據第一次和第二次過零的時間。當資料越過0時,找出哪個值最接近零,然後記錄該值和行。然後重複第二次出現,然後停止閱讀。最後選擇找到的行。這是一個簡單的腳本,它完全按照我上面描述的操作:
名稱預設為此處( 1 ) ;
dt =目前數據表() ;
第一分鐘= 。 ;
第二分鐘= 。 ;
為了( 我= 1 ,我<= N 行( ) - 1 ,我++,
如果(( : y >= 0 & :義+ 1 ] <= 0 ) | ( : y <= 0 & :義+ 1 ] >= 0 ) ,
如果(腹肌( : y ) <腹肌( :義+ 1 ]) ,
分分鐘= : y ;
米羅=我;
,
分分鐘= :義+ 1 ] ;
米羅=我+ 1 ;
) ;
如果(不見了(第一分鐘) ,
第一分鐘=分分鐘;
第一排=米羅;
,
第二分鐘=分分鐘;
第二排=米羅;
休息() ;
) ;
) ;
已選擇(行狀態(第一排)) = 1 ;
已選擇(行狀態(第二)) = 1 ;