列字符匹配公式大家好,
我有一个包含 2 列的数据集,我只想检查第 1 列中的数据是否与第 2 列匹配,不必逐行匹配。我感兴趣的只是检查我们是否有相同的观察结果,如果不关心它们在两列中的顺序,则无需担心。
有人能帮我提供一个用来检查这个的公式吗?
感谢
肖恩
基础数据分析与建模内容组织回复:列字符匹配公式以下是实现此目的的一个例子
Names Default To Here( 1 );
dt = New Table( "Example",
add rows( 100 ),
New Column( "c1", set each value( Random Integer( 1, 1000 ) ) ),
New Column( "c2", set each value( Random Integer( 1, 1000 ) ) )
);
dt << New Column( "Is in Both",
formula(
As Constant( c1Matrix = :c1 << get values );
If( Length( Loc( c1Matrix, :c2 ) ) > 0,
1,
0
);
)
);
回复:列字符匹配公式如果第 1 列和第 2 列中没有小数,您还可以使用关联数组来比较结果
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(3),
Compress File When Saved(1),
New Column("Column 1", Character, "Nominal", Set Values({"A", "B", "C"})),
New Column("Column 2", Character, "Nominal", Set Values({"AA", "B", "C"}))
);
dt << New Column("Diff", Numeric, Nominal, Formula(
As Constant(
aa1 = Associative Array(:Column 1);
aa2 = Associative Array(:Column 2);
aa1 << Remove(aa2);
N Items(aa1) > 0;
);
));