選擇資料表中的重複行我確信這個問題之前一定已經解決過,但我在論壇上找不到它,所以如果答案非常明顯,我深表歉意。
我有一個大型數據表,我知道它包含重複的行。 我想要做的是輕鬆選擇這些重複項,然後刪除或排除進一步分析。 是否有腳本可以在 JMP v8 和 v9 中執行此操作?回覆:選擇資料表中的重複行查看腳本索引中的“選擇重複行”
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select duplicate rows( Match( :age, :height ) );
回覆:選擇資料表中的重複行謝謝你! 我發現這對於處理重複項非常快速且有幫助回覆:選擇資料表中的重複行這是我用來找出完整重複項的方法。 您可能想做的另一件事是解鎖匯總表中的列。
這是執行此操作的腳本。
dt = current data table();
colList=dt<
show(collist);
for (i=1,i<=nitems(collist),i++,
collist<< lock(0);
);
回覆:選擇資料表中的重複行這是一個通用腳本,它執行我上面描述的操作。 適用於任何表,因為不需要指定列號和名稱。
dt = Current Data Table();
dt2 = Eval(
Parse(
Eval(
Expr(
"dt << Summary(group(" || Substitute(
Substitute( Char( dt << get column names() ), "}", "" ),
"{", ""
) || "))"
)
)
)
);
dt2 << delete column( Eval( N Col( dt ) + 1 ) );
腳本透過從列清單中刪除大括號來填入 Group(column1, column2,...)。 有人知道一種更簡單、更簡單的方法來使用列的列表變數作為 Summary() 和類似函數中的參數嗎?
如果重複項是由列的子集而不是所有列定義的,則一種方法是將上述腳本中的「取得列名稱」替換為「取得所選列」。 但是,必須先在資料表中手動選擇列,並用原始表更新匯總表以還原剩餘列。
回覆:選擇資料表中的重複行如果重複的整行都是相同的,那麼您可以使用tables指令中的summary指令。 將所有列新增到「組」框中,然後按確定。
這應該會給你一個沒有重複項的表。 唯一的區別是該表包含一個新列“N 行”並且排序可能已更改。
如果您想要對其他資料表(具有相同的列集)重複此操作,則在左側面板「來源」處的紅色三角形下,您可以選擇複製腳本並將其貼上到新的腳本視窗中。
要擺脫 N 行列,您可以添加行
目前資料表() << 刪除列(N行)
到腳本。回覆:選擇資料表中的重複行彼得,
對於帖子中缺乏清晰度表示歉意。
在我正在查看的範例中,我有 51 行和 19 列的字元和數字數據,當所有列值與另一行(數字或字元)相同時,我將其分類為重複項。
我對 JSL 一無所知,所以我嘗試複製並貼上到一個新腳本中,但出現了多個訊息,基本上說它不起作用。 有人可以幫助將其轉換為正確的格式嗎?
來自上一個連結的腳本
dt << CurrentDataTable;
TotalRows = NRows(dt);
eqFlag = 1;
deleteFlag = 0;
For(i=1, i<TOTALROWS></TOTALROWS>
回覆:選擇資料表中的重複行快速搜尋發現了這個主題:
https://community.jmp.com/t5/Discussions/find-and-drop-duplicate-rows/mp/370#M370
基本上,您可以使用摘要命令來產生沒有重複項的表。
問候,
彼得
回覆:選擇資料表中的重複行有多種方法,但它們取決於您的數據。 你怎麼知道一行是重複的? 即,如果一行是重複的,它的所有列值是否與另一行相同?
是否有一個列值(如鍵或索引)可用於偵測重複項? 或者您需要查看整行嗎?
給我們更多的東西讓我們繼續...
問候,
彼得