如何找到两个表列名的交集?你好,
我有两个具有相似列名的数据表,并且喜欢编写一个脚本来查找两个列名的重叠(交集)并将交集写入新的数据表中。 我尝试使用表并加入,但对我不起作用。
我感谢您的帮助。 谢谢
回复:如何查找两个表列名的交集?谢谢吉姆。
回复:如何查找两个表列名的交集?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>