如何找到兩個表列名的交集?你好,
我有兩個具有相似列名的數據表,並且喜歡編寫一個腳本來查找兩個列名的重疊(交集)並將交集寫入新的數據表中。 我嘗試使用表並加入,但對我不起作用。
我感謝您的幫助。 謝謝
回复:如何查找兩個表列名的交集?謝謝吉姆。
回复:如何查找兩個表列名的交集?1=數據僅來自數據表1
2=數據僅來自數據表2
3=數據來自兩個數據表(匹配)
請參見使用 JMP 文檔中的第 288 頁
幫助==>書籍==>使用JMP
回复:如何查找兩個表列名的交集?謝謝。 我已附上輸出。 有 25 行具有匹配標誌 3,只有兩行具有匹配標誌 1。 我預計只有兩行沒有匹配。 匹配標誌 1 和 3 是什麼意思? (頻率?)。
回复:如何查找兩個表列名的交集?這是你想要的嗎?請注意在兩個數據表中均未找到的行的匹配標誌值。
Names Default To Here( 1 );
input = Data Table( "input" );
output = Data Table( "output" );
dtFinal = input << Join(
With( Output ),
Match Flag( 1 ),
By Matching Columns( :boardno = :boardno ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 1 ),
Preserve main table order( 1 ),
Merge same name columns( 1 )
);
回复:如何查找兩個表列名的交集?謝謝。 我嘗試了一下,沒有看到輸出表。 我附上了兩個輸入數據表。
回复:如何查找兩個表列名的交集?好吧,我現在完全困惑了......你能提供幾個輸入數據表和所需的結果數據表嗎?
回复:如何查找兩個表列名的交集?@在,
dtA = Open("$SAMPLE_DATA\Big Class.jmp");
dtB = Open("$SAMPLE_DATA\Big Class Families.jmp");
ACols = Associative Array(dtA << Get Column Names("String"));
BCols = Associative Array(dtB << Get Column Names("String"));
Intersection = ACols ;
Intersection << Intersect(BCols);
Res = Intersection << Get Keys;您可以使用數據表外部的公共列然後定義一個新表嗎?
如果是這樣,請看上面的例子。
回复:如何查找兩個表列名的交集?謝謝吉姆。 我的數據表的行數不相等,最終的表應該是兩個相似列的交集。 例如,我在表 A 中有 25 行,在表 B 中有 25 行,輸出應該是相似列之間不常見的兩行。
回复:如何查找兩個表列名的交集?以下是如何執行此操作的簡單示例。我不確定最終組合的數據表是什麼,所以我猜它一定是一個串聯。
names default to here(1);
dtA = Open("$SAMPLE_DATA\Big Class.jmp");
dtB = Open("$SAMPLE_DATA\Big Class Families.jmp");
dtACol = New Table("A Columns", private,
New Column("A", character, values(dtA<<GET column="" names=""></GET>